一、开篇介绍
在 Android 开发中,布局(Layout)是构建界面的核心,它决定了控件在屏幕上的排列方式。本次我通过跑通 chapter2 中的 4 个项目,结合实际运行效果,详细介绍 LinearLayout、RelativeLayout、TableLayout、自定义嵌套布局(以 NeonLamp 为例) 这四种常用布局类型。
二、四种布局类型详解
- LinearLayout(线性布局)
核心特点:控件按水平或垂直方向依次排列,是最基础的布局方式。
关键属性:
android:orientation:指定方向,horizontal(水平)或 vertical(垂直)
android:layout_weight:按比例分配剩余空间,实现自适应布局
运行效果:编辑
三个按钮在水平方向依次排列,宽度均匀分配。
适用场景:简单的线性排列界面,如登录表单、列表项等。
2. RelativeLayout(相对布局)
核心特点:控件之间通过相对位置关系(如在某个控件的下方、右侧)来定位,灵活性更高。
关键属性:
android:layout_below:位于某控件下方
android:layout_toRightOf:位于某控件右侧
android:layout_alignParentBottom:与父容器底部对齐
运行效果:编辑
按钮 1 在左下角,按钮 2 在按钮 1 右上方,按钮 3 在按钮 2 右上方,形成阶梯状布局。
适用场景:复杂的不规则布局,避免多层嵌套。
3. TableLayout(表格布局)
核心特点:以行和列的形式排列控件,类似 HTML 中的表格。
关键属性:\ :代表一行,内部控件为一列
android:layout_span:合并列
运行效果:编辑
按钮 1、按钮 2 在第一行;按钮 3、按钮 4 在第二行;按钮 5 单独占第三行,形成规整的表格结构。
适用场景:需要整齐对齐的表单、数据表格等。
4. 自定义嵌套布局(以 NeonLamp 为例)
核心特点:通过多层布局嵌套(如 FrameLayout + 多个 View)实现复杂视觉效果,这里展示的是同心圆样式的霓虹灯效果。
实现逻辑:
外层为 FrameLayout,内部依次叠加不同大小、颜色的 View,形成红 - 绿 - 蓝 - 红 - 灰的同心圆。
运行效果:编辑
五个颜色层叠的同心圆,视觉冲击力强。
适用场景:自定义复杂图形、动画效果、特殊 UI 组件。
三、四种布局对比总结
表格
布局类型 排列方式 优点 缺点 适用场景
LinearLayout 线性(水平 / 垂直) 简单易用、性能高 复杂布局需多层嵌套 线性排列的简单界面
RelativeLayout 相对位置 灵活、减少布局嵌套 复杂关系易导致维护困难 不规则复杂布局
TableLayout 表格(行 + 列) 对齐整齐、结构清晰 灵活性差、不易自适应 表单、数据表格
嵌套布局 多层叠加 / 组合 高度自定义、实现复杂效果 性能开销大、调试复杂 自定义 View、特殊视觉效果
四、总结
LinearLayout:适合线性排列,是入门首选。
RelativeLayout:适合复杂相对位置,减少嵌套层级。
TableLayout:适合规整表格,对齐要求高的场景。
嵌套布局:适合高度自定义的复杂 UI,需注意性能优化。
在实际开发中,我们可以根据需求组合使用这些布局,在保证界面美观的同时,兼顾性能和可维护性。