线性布局
线性布局:LinearLayout
控件特性:
LinearLayout是一种ViewGroup,在其内部的所有控件会呈线性排列,可以是水平的,也可以是垂直的。
继承结构:
View
-- ViewGroup
-- -- LinearLayout
核心属性:
android:orientation -> 设置线性布局的排列方向,当取值为horizontal时表示水平方向排列,当取值为vertical时表示垂直方向排列
子级控件的属性:
android:layout_gravity -> 子级控件的对齐方式,取值可以是:left、right、center、top、bottom,具体哪些值有效,或者呈现什么样对齐方式,还得取决于父级布局的布局方向
android:layout_weight -> 子级控件将占据剩余的宽度/高度的比重,取值为数值,小结为:以水平方向的线性为例,各控件的宽度均设为0dp,则比重表示控件的实际宽度的正比。<
相对布局
相对布局:RelativeLayout
控件特性:
在RelativeLayout下的每个子级控件都会以父级控件或同级别的其它控件作为参考,从而决定自身的尺寸和位置。
在RelativeLayout下的每个子级控件默认显示在左上角,根据代码顺序,后续出现的控件会覆盖此前出现的控件。
继承结构:
View
-- ViewGroup
-- -- RelativeLayout
核心属性:
(无)
子级控件属性:
android:layout_alignParentTop -> 与父级控件的顶部对齐,取值为true或false,通常,如果确定需要与父级控件的顶部对齐,则设计该属性并取值为true,如果不需要,则根本就不要设计这个属性
android:layout_alignParentBottom -> 与父级控件的底部对齐,取值同上
android:layout_alignParentLeft -> 与父级控件的左侧对齐,取值同上
android:layout_alignParentRight -> 与父级控件的需右侧对齐,取值同上
android:layout_centerHorizontal -> 以父级控件的宽度作为参考,将自身在水平方向上居中,取值同上
android:layout_centerVertical -> 以父级控件的高度作为参考,将自身在垂直方向上居中,取值同上
android:layout_centerInParent -> 将自身在父级控件中完全居中,取值同上
android:layout_below -> 将自身置于同级别的某控件的下方,取值为被参考的控件的id
android:layout_above -> 将自身置于同级别的某控件的上方,取值同上
android:layout_toRightOf -> 将自身置于同级别的某控件的右侧,取值同上
android:layout_toLeftOf -> 将自身置于同级别的某控件的左侧,取值同上
android:layout_alignTop -> 将自身与同级别的某控件的顶部对齐,取值同上
android:layout_alignBottom -> 将自身与同级别的某控件的底部对齐,取值同上
android:layout_alignLeft -> 将自身与同级别的某控件的左侧对齐,取值同上
android:layout_alignRight -> 将自身与同级别的某控件的