一、Android 资源主要分为以下类型:
- 布局资源:res/layout/ 下的 XML 文件,用于定义界面结构。
- 字符串资源:res/values/strings.xml,存储文本内容,支持多语言适配。
- 颜色资源:res/values/colors.xml,定义颜色值与别名。
- 尺寸资源:res/values/dimens.xml,定义控件大小、间距等尺寸。
- 样式与主题资源:res/values/styles.xml,控制控件与应用的视觉风格。
- 图片资源:res/drawable/,包含位图、矢量图、形状图等。
- 动画资源:res/anim/ 或 res/animator/,定义视图动画与属性动画。
- 菜单资源:res/menu/,定义应用菜单与选项。
- 原始资源:res/raw/,存放音频、视频等二进制文件。
- 资产资源:assets/,存放任意格式文件,需通过 AssetManager 访问。
二、四种布局资源类型详细介绍(结合项目)
- LinearLayout(线性布局) 对应项目:LinearLayout
布局介绍:LinearLayout 是 Android 最基础的布局,按水平或垂直方向依次排列子控件。
核心属性:android:orientation,取值为 vertical(垂直)或 horizontal(水平)
权重分配:通过 android:layout_weight 按比例分配剩余空间,实现灵活尺寸适配
适用场景:简单线性排列界面,如登录表单、列表项、按钮组等
- FrameLayout(帧布局)
对应项目:NeonLamp
布局介绍:FrameLayout 是层叠布局,所有子控件默认叠加在父容器左上角,后添加的控件会覆盖前面的控件。
特点:控件层级分明,适合实现叠加效果、动画层或 Fragment 容器
适用场景:霓虹灯效果、加载动画、单控件展示等
项目体现:截图中多个彩色方块层层叠加,直观体现了 FrameLayout 的层叠特性
- RelativeLayout(相对布局)
对应项目:RelativeLayout
布局介绍:RelativeLayout 以相对位置定位控件,可相对于父容器或其他兄弟控件摆放。
常用属性: layout_alignParentTop:与父容器顶部对齐
layout_below:位于指定控件下方
layout_toRightOf:位于指定控件右侧
特点:灵活性高,可实现复杂界面排版,减少布局嵌套
适用场景:需要控件相互对齐、位置依赖的界面
- TableLayout(表格布局)
对应项目:TableLayout
布局介绍:TableLayout 以行和列形式排列控件,类似 HTML 表格结构。
核心组件:通过 TableRow 定义每一行,每行中的控件自动成为一列
特点:列宽由内容自动适配,可实现规整的表格状界面
适用场景:表单、数据列表、计算器键盘等需要行列对齐的场景
项目体现:截图中按钮按多行多列整齐排列,完美体现了 TableLayout 的表格特性
三、总结
四种布局各有适用场景:
LinearLayout:适合简单线性排列的基础界面
FrameLayout:适合层叠展示、叠加效果或动画场景
RelativeLayout:适合相对定位、复杂排版且需减少嵌套的界面
TableLayout:适合行列规整、需要表格对齐的场景
实际开发中可根据界面需求选择合适布局,也可组合多种布局实现更高效的界面构建。