1.NenoLamp
此项目的布局就是运用到帧布局
核心特性
- 最简单的布局,所有控件叠加在一起(层叠显示)。
- 后写的控件会覆盖先写的控件,默认左上角对齐。
关键属性
android:gravity:控制叠加后的对齐方式(居中、居右等)
实例
最中间的红色图层它就会突出出来,覆盖中间的蓝色图层
同理 如果你点击其他图层也一样有此效果。
2.TableLayout
此项目的布局就是运用到表格布局(TableLayout)
最核心特点
1. 自动列宽,无需手动定义列数
- 你不用写多少列,系统自动根据一行里的控件数量生成列
- 列宽由该列最宽控件自动撑开
- 所有行的同一列宽度保持一致(非常整齐)
2. 必须配合 TableRow 使用
- 直接写控件无效
- 必须用
<TableRow>包裹每一行内容 - 一行 = 一个 TableRow
3. 不能手动设置宽高
layout_width/layout_height对 TableRow 无效- 宽度自动填满父布局
- 高度自适应内容
4. 可以合并单元格(重要)
支持两个关键属性实现合并:
android:layout_span="2"→ 跨 2 列android:layout_column="2"→ 跳过第 2 列,从第 3 列开始
5. 可以隐藏列
android:collapseColumns="0"隐藏第 0 列- 方便动态控制表格显示
6. 结构整齐、适合表单类界面
最适合:
- 登录表单
- 设置页
- 个人信息表
- 键值对展示
实例
3.linearLayout
线性布局
核心特性
- 最基础、最常用的布局,控件按单一方向排列(水平 / 垂直)。
- 控件依次排布,不会自动换行,方向由
android:orientation控制。
关键属性
表格
| 属性 | 取值 | 说明 |
|---|---|---|
android:orientation | horizontal(水平)/ vertical(垂直) | 排列方向 |
android:layout_weight | 数字 | 权重,按比例分配剩余空间(核心适配属性) |
android:gravity | 对齐方式 | 子控件在布局内的对齐(居中、居右等) |
实例
4.RelativeLayout(相对布局)
核心特性
- 控件以其他控件 / 父布局为参考定位,自由度最高。
- 不用嵌套多层,就能实现复杂对齐,减少布局层级。
关键属性(分三类)
- 相对于父布局
layout_centerInParent(居中)、layout_alignParentTop(顶部对齐) - 相对于其他控件
layout_toRightOf(在某控件右侧)、layout_below(在某控件下方) - 对齐关系
layout_alignTop(与某控件顶部对齐)