安卓开发--LinearLayout(线性布局)
特点:子 View 按水平(horizontal)或垂直(vertical)方向依次排列。
基本属性
orientation方向:android:orientation="horizontal|vertical"
作用:horizontal:水平排列(默认值)/vertical:垂直排列.
Layout_weight权重:android:layout_weight="1" (写在线性布局下面的子项里面)
作用:用于分配剩余空间的比例,值越大,分配的空间越多,通常与宽度/高度设为0dp一起使用.
gravity重力:android:gravity="center|top|bottom|left|right
|center_vertical|center_horizontal|..."(所有子视图位于父容器位置)
作用:控制子视图在父容器中的对齐方式,可以组合使用,如 center_vertical|right。
Layout_gravity子视图重力:android:layout_gravity="center|top|bottom|left|
right|..."(单个子视图位于父容器位置)
作用:控制单个子视图在父容器中的对齐方式,不同于父容器的gravity属性
baselineAlign基线对齐:android:baselineAligned="true|false"
作用:控制文本基线对齐
基准线对齐的图片
基准线没有对齐的图片
weightSum权重和:android:weightSum="3"
作用:预设权重总和,子视图的layout_weight之和可以超过此值
divider分割线:
android:divider="@drawable/divider"(指定资源)
android:showDividers="middle|beginning|end"(控制显示位置)
作用:添加分割线,可以自定义分割线drawable
比如:android:showDividers="middle"是指在所有子项跟子项的中间加一条分割线
padding(内边距)和margin(外边距)
特性 | 内边距 (Padding) | 外边距 (Margin) |
作用对象 | 当前视图的内部空间 | 当前视图与其他视图之间的外部空间 |
影响范围 | 影响视图自身内容的布局 | 影响视图在父容器中的位置 |
视觉表现 | 在视图边界内增加空白 | 在视图边界外增加空白 |
代码属性 | android:paddingXXX | android:layout_marginXXX |
继承性 | 不会被子视图继承 | 不会被其他视图继承 |
关键:Padding 区域 会显示 视图的背景色/背景图,Margin 区域 不会显示 视图的背景。