LinearLayout和RelativeLayout的特殊属性

时间:2022-04-27 08:48:58

Relativelayout属性:

属性名称 描述
android:layout_centerHorizontal 水平居中
android:layout_centerVertical 垂直居中
android:layout_centerInparent 相对于父元素完全 居中
android:layout_alignParentBottom 贴紧父元素的下边缘
android:layout_alignParentLeft 贴紧父元素的左边缘
android:layout_alignParentRight 贴紧父元素的右边缘
android:layout_alignParentTop 贴紧父元素的上边缘
android:layout_below 在某元素的下方
android:layout_above 在某元素的的上方
android:layout_toLeftOf 在某元素的左边
android:layout_toRightOf 在某元素的右边
android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐
android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐
android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐
android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐

Linearlayout属性:

属性名称 描述
android:layout_gravity 在父控件中的布局位置
android:gravity 子控件的布局位置
android:orientation 布局方向

遇到过的坑:
Relativelayout不支持gravity和子元素的layout_gravity。在嵌套listView布局时,将Linearlayout换成RelativeLayout,属性忘动,导致gravity 属性和layout_gravity属性失效,子布局全部上对齐,添加Relativelayout属性android:layout_centerVertical = true 解决问题。

写布局时要使用布局内部支持的属性,更改布局切记还需更改对应的属性。