在 Android 开发中,“资源(Resources)”是非常核心的一部分。本文先系统梳理 所有常见资源类型,再重点讲解 四种常用布局资源。
开发工具:Android Studio
一、什么是 Android 资源
Android 资源是指:应用中除代码以外的所有外部文件,统一放在:
res/
例如:
1.布局 XML
2.图片
3.字符串
4.颜色
5.样式等
二、Android 资源类型总览
| 资源目录 | 说明 | 示例 |
|---|---|---|
| layout | 布局资源 | activity_main.xml |
| drawable | 图片资源 | icon.png |
| mipmap | 启动图标 | ic_launcher |
| values | 常量资源 | strings.xml |
| menu | 菜单资源 | menu_main.xml |
| anim | 动画资源 | fade_in.xml |
| animator | 属性动画 | object_animator.xml |
| color | 颜色资源 | colors.xml |
| font | 字体资源 | roboto.ttf |
| raw | 原始文件 | music.mp3 |
| xml | 自定义配置 | file_paths.xml |
三、重点:布局资源(layout)
布局资源是最常用的资源类型之一,用于定义 UI 结构。
路径:
res/layout/
常见布局有 4 种:
1.LinearLayout(线性布局)
2.RelativeLayout(相对布局)
3.TableLayout(表格布局)
4.FrameLayout(帧布局)
四、线性布局(LinearLayout)
1 概念
按 水平或垂直方向依次排列控件。
2 核心属性
android:orientation="vertical"
android:layout_weight="1"
3 示例
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button android:text="按钮1"/>
<Button android:text="按钮2"/>
</LinearLayout>
4 特点
1.简单直观
2.支持权重分配
3.使用最广泛
5 使用场景
1.表单
2.按钮排列
3.列表结构
五、相对布局(RelativeLayout)
1 概念
通过 控件之间的相对位置关系布局。
2 核心属性
android:layout_below
android:layout_toRightOf
android:layout_alignParentTop
3 示例
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/btn1"
android:text="按钮1"/>
<Button
android:text="按钮2"
android:layout_below="@id/btn1"/>
</RelativeLayout>
4 特点
1.灵活性高
2.可实现复杂布局
3.代码复杂
5 使用场景
1.登录界面
2.信息展示页
六、表格布局(TableLayout)
1 概念
类似 HTML 表格,按 行列排列控件。
2 示例
<TableLayout>
<TableRow>
<TextView android:text="账号"/>
<EditText/>
</TableRow>
<TableRow>
<TextView android:text="密码"/>
<EditText/>
</TableRow>
</TableLayout>
3 特点
1.自动对齐
2.结构清晰
3.灵活性较低
4 使用场景
1.注册表单
2.数据输入界面
七、帧布局(FrameLayout)
1 概念
所有控件 层叠显示(类似叠图层) 。
2 示例
<FrameLayout>
<TextView android:text="底层"/>
<Button android:text="上层"/>
</FrameLayout>
3 特点
1.控件叠加
2.简单高效
3.常用于容器
4 使用场景
1.Fragment 容器
2.图片叠加
3.弹窗效果
八、四种布局对比总结
| 布局 | 优点 | 缺点 | 场景 |
| LinearLayout | 简单 | 嵌套多会性能差 | 常用 |
| RelativeLayout | 灵活 | 复杂 | 中等复杂 UI |
| TableLayout | 对齐好 | 不灵活 | 表单 |
| FrameLayout | 轻量 | 功能少 | 容器 |