(一)线性布局——LinearLayout
控件线性排布,子控件将以横向或者竖向的方式排列。
它本身常用到的属性:
(1)android:orientation = "vertical" / "horizontal" (垂直/水平)
(2)android: gravity = "center" ——该属性决定其他子类的XY的位置
其他:
1.center_vertical : 垂直(Y轴)居中
2.center_horizontal : 水平(X轴)居中
3.right / left : 子类控件位于当前布局的右边 / 左边
4.bottom : 子类控件位于当前布局的下面
(可以多属性连用)
子类控件在LinearLayout中常用到的属性:
(1)android : layout_gravity = " " 指子控件本身在当前父容器的XY的一个位置
(2)android : layout_weight = " 1" 指本身控件占父容器的一个比例 weight / 总的weight
(二)相对布局——RelativeLayout
包含的子控件将以控件之间的相对位置或子类控件相对父容器的位置的方式排列。
子类控件在RelativeLayout中常用到的属性(相对父容器):
1.android : layout_alignParentLetf = "true" ——子控件相对当前父容器靠左
2.android : layout_alignParentTop
3.android : layout_marginLeft = "dp"——子控件距离父容器左边的距离
4.android : layout_marginTop
5.android : layout_centerInParent = "true"——子控件相对父容器水平和垂直居中
6.android : layout_centerHorizontal
7.android : layout_centerVertical
子类控件相对子类控件的位置常用属性:
1.android : layout_below = "@+id/ "(下面同理) —— 控件在指定id控件的底部
2.android : layout_toLeftOF = “” —— 控件在指定id控件的左边
3.android : layout_alignBaseline = " " —— 控件内容在指定id控件的内容在同一条线上
4.android : layout_alignBottom = " " —— 控件的底部边缘与指定id控件的底部边缘对齐
5.android : layout_alignRight = " " ——控件的右边缘与指定id控件的右边缘对齐
(三)帧布局——FrameLayout
在这个布局中,所有子元素不能被指定放在一个位置,都在放在左上角,并且后面的子元素会覆盖在前面的子元素上,将他们部分覆盖或者全部遮挡。
常用属性:
没有gravity属性, 但子控件有layout_gravity属性