1. LinearLayout(线性布局)
核心特性
- 最基础、最简单的布局,所有子控件按「水平 / 垂直」方向排成一条直线
- 子控件不会重叠,依次排列
- 支持权重(
layout_weight)实现按比例分配空间
关键属性
表格
| 属性 | 作用 |
|---|---|
android:orientation | 排列方向:horizontal(水平)/vertical(垂直) |
android:layout_weight | 子控件权重,按比例分配剩余空间 |
android:gravity | 子控件在布局内的对齐方式(居中、居左、居右) |
部分效果展示
2. RelativeLayout(相对布局)
核心特性
- 以「子控件之间的相对位置」或「父容器的相对位置」定位
- 无需嵌套,一个布局就能实现复杂排版
- 灵活性高,但层级复杂时可读性差
关键属性
- 相对于父容器:
layout_centerInParent(居中)、layout_alignParentTop(顶部对齐) - 相对于其他控件:
layout_below(在某控件下方)、layout_toRightOf(在某控件右侧)
部分效果展示
3. FrameLayout(帧布局)
核心特性
- 最简单的布局,所有子控件默认「堆叠在左上角」
- 后添加的控件会覆盖先添加的控件(层级覆盖)
- 测量 / 渲染速度最快,性能最优
关键属性
android:layout_gravity:控制子控件在布局内的对齐(居中、底部、右侧)- 无复杂排列规则,仅支持简单对齐
4.TableLayout(表格布局)
核心特性
-
以行和列的形式排列控件,一行一行、一列一列对齐
-
由
TableLayout+TableRow组成:TableLayout:整个表格容器TableRow:表格里的每一行
-
列数由包含控件最多的那一行决定
-
列宽会自动适配内容,也可以手动设置隐藏 / 拉伸
-
不用手动定义列,自动对齐,非常适合规整的表格界面
关键属性
表格
| 属性 | 作用 |
|---|---|
android:stretchColumns | 设置可拉伸的列(填满表格剩余宽度,用列号表示,从 0 开始) |
android:shrinkColumns | 设置可收缩的列(内容过长时自动收缩) |
android:collapseColumns | 设置隐藏的列 |
TableRow | 代表表格中的一行,内部控件就是一列 |
部分效果展示
霓虹灯页面展示