在 Android 开发中,布局资源(Layout Resource)用于定义界面的结构,是 UI 开发的核心。本次通过 Chapter2 中的 4 个示例项目运行实践,总结了 Android 中最常用的四种布局类型,并结合实际效果进行分析。
一、实验环境与项目说明
-
开发工具:Android Studio
-
项目来源:Chapter2 示例工程
-
实验内容:
- 成功运行 4 个示例项目
- 观察 UI 布局效果
- 截图并整理展示
二、Android 布局资源概述
在 Android 中,布局文件通常位于:
res/layout/*.xml
用于描述 UI 组件的排列方式。
常见布局类型有:
| 布局类型 | 特点 |
|---|---|
| LinearLayout | 线性排列 |
| RelativeLayout | 相对位置 |
| ConstraintLayout | 约束布局(推荐) |
| FrameLayout | 层叠布局 |
三、四种常用布局详解
1️、 LinearLayout(线性布局)
特点:按方向依次排列(水平 or 垂直)
核心属性:
-
orientation:排列方向- vertical(垂直)
- horizontal(水平)
-
layout_weight:权重分配空间
优点:
- 简单直观
- 易于上手
缺点:
- 嵌套多层时性能差(层级过深)
运行截图:
2️、 RelativeLayout(相对布局)
特点:组件之间通过“相对关系”定位
常用属性:
layout_belowlayout_abovelayout_toRightOflayout_alignParentTop
优点:
- 灵活控制位置
- 比 LinearLayout 更少嵌套
缺点:
- 规则复杂
- 多组件时难维护
运行截图:
3、 FrameLayout(帧布局)
特点:子元素层叠(类似叠罗汉)
优点:
-
简单
-
适合:
- Fragment 容器
- 悬浮效果
缺点:
- 不适合复杂布局
运行截图:
4、TableLayout(表格布局)
特点:以“行 + 列”的形式组织 UI,类似 HTML 表格
在 Android 中,TableLayout 用于按行列方式排列控件,每一行由 TableRow 表示。
常用属性
TableLayout 属性:
stretchColumns:拉伸列(让某列填满空间)shrinkColumns:压缩列collapseColumns:隐藏列
TableRow 属性:
layout_column:指定列位置layout_span:跨列(类似 colspan)
优点
- 结构清晰(特别适合“表单类 UI”)
- 自动对齐列
- 写法直观,类似 HTML 表格
缺点
- 灵活性差
- 不适合复杂 UI
- 已逐渐被 ConstraintLayout 替代
运行截图:
实验总结
本次通过运行 Chapter2 中的四个示例项目,对 LinearLayout、RelativeLayout、FrameLayout 和 TableLayout 四种布局进行了实践与对比分析。不同布局在结构方式、使用场景及性能方面各有优缺点。在实际开发中,应根据界面复杂度合理选择布局类型,同时优先考虑使用 ConstraintLayout 以提升界面性能和可维护性。