线性布局LinearLayout是指在横向或是竖向一个接一个地排列,当排列的组件超出屏幕后,超出的组件将不会再显示出来。
LinearLayout支持的XML属性和对应方法如表所示:
Attribute Name | Related Method | Description |
android:baselineAligned | setBaselineAligned(boolean) | 若设置为false,将阻止该布局管理器与它的子元素的基线对齐 |
android:baselineAlignedChildIndex | setBaselineAlignedChildIndex(int) | 指定以那个子元素的基线对齐 |
android:divider | setDividerDrawable(Drawable) | 设置垂直布局时两个按钮之间的分隔条 |
android:gravity | setGravity(int) | 设置布局管理器内组件的对齐方式 |
android:measureWithLargestChild | setMeasureWithLargestChildEnabled(boolean) | 若设置为true,所有的子组件将具有最大子元素的最小尺寸 |
android:orientation | setOrientation(int) | 设置布局管理器内组件的排列方向 |
android:weightSum |
| 定义权重总和的最大值 |
Orientation 属性可以设置为horizontal或vertical
Gravity 属性可以设置为top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。
一个属性可以包含多个值,需用“|”连起来。其含义如下:
top | 将对象放在其容器的顶部,不改变其大小. |
bottom | 将对象放在其容器的底部,不改变其大小. |
left | 将对象放在其容器的左侧,不改变其大小. |
right | 将对象放在其容器的右侧,不改变其大小. |
center_vertical | 垂直对齐方式:垂直方向上居中对齐。 |
fill_vertical | 垂直方向填充 |
center_horizontal | 水平对齐方式:水平方向上居中对齐 |
fill_horizontal | 水平方向填充 |
center | 将对象横纵居中,不改变其大小. |
fill | 必要的时候增加对象的横纵向大小,以完全充满其容器. |
clip_vertical | 附加选项,用于按照容器的边来剪切对象的顶部和/或底部的内容. 剪切基于其纵向对齐设置:顶部对齐时,剪切底部;底部对齐时剪切顶部;除此之外剪切顶部和底部. 垂直方向裁剪 |
clip_horizontal | 附加选项,用于按照容器的边来剪切对象的左侧和/或右侧的内容. 剪切基于其横向对齐设置:左侧对齐时,剪切右侧;右侧对齐时剪切左侧;除此之外剪切左侧和右侧. 水平方向裁剪 |
LinearLayout.LayoutParams负责控制线性布局管理器内部的子元素。
子元素支持的XML属性如下
android:layout_gravity:指定该子元素在布局管理器中的对齐方式
android:layout_weight:指定该子元素在布局管理器中所占的权重
属性中layout_shenmu的都是控制子元素的。