一 线性布局 - LinearLayout
- LinearLayout 是一个视图容器,用于使所有子视图在单个方向(垂直或水平)保持对齐。您可使用 android:orientation 属性指定布局方向。
1.1 android:orientation
- android:orientation="horizontal"
- android:orientation="vertical
1.2 布局权重 android:layout_weight
通过给子视图设置权重值,来分配子视图所占空间的权重(比例),如图三个子视图权重分别设置为1,均分页面空间
layout_width填0dp时,layout_weight表示水平方向的宽度比例。
layout_height填0dp时,layout_weight表示垂直方向的高度比例。
二 相对布局 - RelativeLayout
- 相对布局 :子视图可通过相应的布局属性,设定相对于另一个兄弟视图或父视图容器的相对位置
2.1 相对于兄弟元素
2.2 相对于父元素
2.3 对齐方式
2.4 间隔
2.5 父容器定位属性示意图
2.6 根据兄弟组件定位
三 帧布局 - FrameLayout
最简单的一种布局,没有任何定位方式,当我们往里面添加控件的时候,会默认把他们放到这块区域的左上角,帧布局的大小由控件中最大的子控件决定,如果控件的大小一样大的话,那么同一时 刻就只能看到最上面的那个组件,后续添加的控件会覆盖前一个
- android:layout_gravity(控件重力)
- android:foreground(前景)
- android:foregroundGravity(前景重力)
四 网格布局 GridLayout
| 属性 | 说明 |
|---|---|
| android:rowCount | (行数量) |
| android:columnCount | (列数量) |
| android:layout_row | (位于第几行) |
| android:layout_rowSpan | (跨几行) |
五、表格布局
| 属性 | 说明 |
|---|---|
| android:collapseColumns | 设置需要被隐藏的列的序号 |
| android:shrinkColumns: | 设置允许被收缩的列的列序号 |
| android:stretchColumns: | 设置运行被拉伸的列的列序号 |