布局资源 4 种最常用类型(详细介绍)
布局资源文件存放在 res/layout/ 目录,用于编写界面结构,以下是开发中最常用的 4 种布局:
- LinearLayout 线性布局
核心特点
-
子控件只能沿一个方向排列:水平(horizontal)或 垂直(vertical)
-
简单易用、性能高,是最基础的布局
-
支持
layout_weight权重,可按比例分配空间 -
android:orientation:排列方向(vertical /horizontal) -
android:gravity:子控件整体对齐方式(居中、居右、居底等) -
android:layout_weight:子控件权重,值越大占的空间越多
使用场景
简单列表、表单、按钮栏、导航条、垂直 / 水平线性排列的界面。
- RelativeLayout 相对布局
核心特点
- 子控件可以相对父布局 或 其他控件定位
- 不用嵌套就能写复杂位置关系
- 灵活性高,但性能一般,现在已逐渐被约束布局替代
常用属性
- 相对父布局:
layout_centerInParent、layout_alignParentTop - 相对其他控件:
layout_below、layout_toRightOf、layout_alignTop
使用场景
登录页面、个人中心、元素位置有依赖关系的中等复杂度 UI。
- ConstraintLayout 约束布局(官方首选)
核心特点
- Google 现代开发推荐的首选布局
- 通过约束关系定位控件,上下左右都能绑定目标
- 无嵌套实现复杂 UI,性能最优,支持多设备适配
- 支持可视化拖拽编辑
常用属性
layout_constraintTop_toTopOf:顶部对齐目标layout_constraintStart_toEndOf:左边在目标右边layout_constraintHorizontal_bias:水平偏移比例
使用场景
所有界面,尤其是复杂页面、适配平板 / 折叠屏、列表卡片等。
- FrameLayout 帧布局
核心特点
- 最简单的布局,所有子控件默认层叠放在左上角
- 后添加的控件会覆盖先添加的控件
- 可通过
layout_gravity修改位置
常用属性
android:layout_gravity:控件在布局中的对齐方式android:foreground:设置覆盖在最上层的前景图
使用场景
Fragment 容器、加载动画、图片加水印、单控件展示、图层叠加。
总结
- Android 共 12 类标准资源,最核心的是
layout、drawable、values - 布局常用 4 种:LinearLayout(线性)、RelativeLayout(相对)、ConstraintLayout(约束)、FrameLayout(帧)
- 实际开发优先用 ConstraintLayout,性能最强、最灵活