1. 相对布局管理器(RelativeLayout)
- 理解:以一个物体为参考点进行别的组件的布局。
- 常用方法:
- android:gravity 设置各子组件摆放方式
- android:ingoreGravity 忽略gravity的影响
- android:layout_above/below/toLeftof/toRightof 指定组件位于参考组件的位置
- android:layout_alignParentBottom/alignParentLeft/alignParentRight/alignParentTop 设置组件相对于布局的对齐方式
- android:layout_alignBottom/alignLeft/alignRight/alignTop 设置组件相对于另一个组件的对齐方式
- android:layout_centerHorizontal/centerInParent/centerVertical 组件位于布局的位置
2. 线性布局管理器(LinearLayout)
- 理解:将放入的组件以垂直或者水平的方式摆放,一行或者一列只能放置一个组件。
- 常用方法:
- android:orientation 设置组件排列方式,选择垂直或者水平
例:android:orientation=“vertical” 垂直方式 - android:gravity 设置组件摆放位置的方式
例:android:gravity=“right|bottom” 右下摆放 - android:layout_weight 设置组件所占的权重,默认为0,对剩余空间的分配。
例:android:gravity=“1”
- android:orientation 设置组件排列方式,选择垂直或者水平
3. 帧布局管理器(FrameLayout)
- 理解:组件在摆放时可以发生重叠现象,后放置的组件会覆盖前放置的组件。
- 常用方法:
- android:foreground 为帧布局管理器设置前景图像
(前景图像:始终位于上层的图像,不会被覆盖) - android:foregroundGravity 为前景图像设置位置
- android:foreground 为帧布局管理器设置前景图像
4. 表格布局管理器(TableLayout)
- 理解:组件布局是以表格的方式放置。
- 常用方法:
- TableRow组件:添加一个表格行。
在这其中添加组件会自动占一列,如果不在这组件中添加组件,则添加的组件会自占一行。 - android:collapseColumns 可以选择列隐藏,参数为列序号,以0开始。
- android:stretchColumns 选择某一列可以被拉伸,同时选择多列可以被拉伸可以使用逗号将列号隔开。
- android:shrinkColumns 选择某一列可以被收缩。
- TableRow组件:添加一个表格行。
5. 网格布局管理器(GridLayout)
- 理解:和表格布局管理器类似,但这个布局可以进行自定义跨列/行显示,优于表格布局管理器。
- 常用方法:
- android:columnCount 指定网格最大列数
- android:orientation 指定组件排列方式
- android:rowCount 指定网格最大行数
- android:layout_column 指定组件位于的列位置
- android:layout_columnSpan 指定跨多少列显示
- android:layout_columnWeight 指定组件在水平方向上的权重
(对于行row的方法,和列column类似) - android:layout_gravity 指定组件的放置方式
6. 布局的嵌套
- 对于布局的嵌套,可以将其他布局作为组件放置到别的布局中,实现布局的嵌套,像个套娃。