Android 布局与资源体系

0 阅读4分钟

一、Android 资源类型全盘点

Android 工程的 res 目录是资源管理的核心,常见资源类型如下:

资源类型存放目录核心用途
布局资源res/layout/定义界面结构与控件排列,如 activity_main.xml,是 UI 开发的基础
图片资源res/drawable/存放图标、背景图等,支持矢量图与位图;mipmap/ 目录专用于应用图标多密度适配
字符串资源res/values/strings.xml统一管理文本内容,支持多语言切换,避免硬编码字符串
颜色资源res/values/colors.xml定义全局颜色值,便于主题切换与复用,保证界面配色一致性
尺寸资源res/values/dimens.xml定义控件大小、边距等,适配不同屏幕密度,避免布局错乱
样式资源res/values/styles.xml定义控件外观与主题,如文字大小、背景色、圆角等,实现样式复用
菜单资源res/menu/定义应用菜单、上下文菜单等(为高频使用类型)
动画资源res/anim//res/animator/定义视图动画、属性动画,提升界面交互体验

这些资源共同构成了 Android 应用的视觉与交互基础,其中布局资源是构建界面的核心骨架,也是我们接下来重点解析的部分。

二、4 种常用布局深度解析

1. LinearLayout:线性布局 —— 最基础的「排队」布局

屏幕截图 2026-03-25 112826.png

核心特性:按水平(horizontal)或垂直(vertical)方向依次排列子控件,像排队一样规整。

关键属性: android:orientation:指定布局方向,horizontal 为水平,vertical 为垂直。 android:layout_weight:按比例分配剩余空间,实现「权重分配」的自适应效果。

适用场景:简单的线性排列界面,如登录表单、按钮组、列表项等。

示例:图中水平排列的「按钮 1、按钮 2、按钮 3」,就是典型的水平 LinearLayout 用法,控件按顺序从左到右依次展示。

2. RelativeLayout:相对布局 —— 灵活的「定位」布局

屏幕截图 2026-03-25 113321.png

核心特性:子控件通过相对位置(相对于父容器或其他控件)进行定位,自由度极高。

关键属性: 相对于父容器:android:layout_alignParentTop(贴父容器顶部)、android:layout_centerInParent(居中于父容器)等。 相对于其他控件:android:layout_below(在某控件下方)、android:layout_toRightOf(在某控件右侧)等。

适用场景:复杂的不规则界面,控件之间有明确的相对位置依赖。

示例:图中「按钮 1、按钮 2、按钮 3」分别位于左下角、中间、右上角,正是通过相对定位实现的灵活布局。

3. TableLayout:表格布局 —— 规整的「表格」布局

屏幕截图 2026-03-25 113509.png

核心特性:以行和列的形式排列子控件,类似 HTML 表格,由 TableRow 定义每一行。

关键属性: android:stretchColumns:指定可拉伸的列,自动填充剩余宽度。

android:shrinkColumns:指定可收缩的列,防止内容溢出屏幕。

适用场景:需要规整表格形式的界面,如计算器、数据报表、设置项列表等。

示例:图中按钮按 2 行 3 列的表格形式排列,第一行 2 个按钮,第二行 3 个按钮,完美体现了表格布局的规整性。

4. ConstraintLayout:约束布局 —— 现代「万能」布局

屏幕截图 2026-03-25 113004.png

核心特性:通过约束关系(如上下左右对齐、比例、间距)定位控件,可替代 LinearLayout + RelativeLayout 组合,大幅减少布局嵌套。

关键属性: app:layout_constraintLeft_toRightOf:控件左边对齐到另一控件右边。 app:layout_constraintVertical_bias:垂直方向偏移比例,实现精准定位。 app:layout_constraintDimensionRatio:设置宽高比,适配不同屏幕。

适用场景:几乎所有复杂界面,从简单的登录页到复杂的详情页都能高效实现。

优势:相比其他布局,ConstraintLayout 性能更好,调试更直观。

一句话总结:

简单界面用 LinearLayout,快速高效;

复杂相对定位用 RelativeLayout(或直接用 ConstraintLayout 替代);

表格数据用 TableLayout;

现代开发首选 ConstraintLayout,一劳永逸解决大部分布局问题。

三、最后

Android 资源体系是 UI 开发的基础,而布局资源则是构建界面的「骨架」。通过这 4 种经典布局的学习,你已经能应对绝大多数界面开发场景。