| 资源目录 | 资源类型 | 作用说明 |
|---|---|---|
res/drawable/ | 图片 / 矢量资源 | 存放位图(png/jpg)、矢量图(xml)、形状 Drawable、状态选择器 |
res/layout/ | 布局资源 | 定义界面结构(控件排列、大小、位置),XML 格式 |
res/values/ | 值资源 | 文字(strings)、颜色(colors)、尺寸(dimens)、样式(styles)、数组(arrays)、整型(integers) |
res/mipmap/ | 应用图标 | 专放 APP 启动图标(多密度适配,比 drawable 更优) |
res/anim/ | 补间动画资源 | 定义视图平移、旋转、缩放、透明度动画 |
res/animator/ | 属性动画资源 | 安卓 3.0 + 推荐,控制控件属性(宽高、坐标)的高级动画 |
res/raw/ | 原生文件资源 | 存放音频、视频、文本等不编译的文件(直接通过 ID 访问) |
res/xml/ | 自定义 XML 资源 | 存放配置文件(如网络安全配置、菜单配置、自定义数据) |
res/font/ | 字体资源 | 安卓 8.0+,存放自定义 TTF/OTF 字体文件 |
res/menu/ | 菜单资源 | 定义选项菜单、上下文菜单、弹出菜单的结构 |
1. LinearLayout(线性布局)
核心特性
- 最基础、最常用的布局,控件按水平 / 垂直方向线性排列
- 控件会按代码书写顺序依次排布,不会自动换行
- 通过
orientation属性控制排列方向
关键属性
| 属性 | 取值 | 作用 |
|---|---|---|
android:orientation | horizontal(水平)/ vertical(垂直) | 定义排列方向 |
android:layout_weight | 数字 | 权重,按比例分配剩余空间(实现自适应等分) |
android:gravity | center/left/right 等 | 子控件在布局内的对齐方式 |
2. RelativeLayout(相对布局)
核心特性
- 控件以其他控件 / 父布局为参照物定位
- 灵活度极高,可实现复杂 UI,减少布局嵌套层级(性能更优)
- 不用依赖排列方向,完全通过相对关系控制位置
关键属性
- 相对于父布局
layout_alignParentTop(顶部对齐)、layout_centerInParent(居中) - 相对于其他控件
layout_below(在某控件下方)、layout_toRightOf(在某控件右侧) - 对齐关系
layout_alignLeft(与某控件左对齐)
3.ConstraintLayout(约束布局)
核心特性
- Android 官方推荐首选布局(替代 LinearLayout+RelativeLayout)
- 完全通过约束条件定位(上下左右对齐、比例、间距)
- 支持扁平化布局(无嵌套即可实现复杂 UI,性能最优)
- 支持可视化编辑(Android Studio 拖拽直接生成代码)
关键属性
| 属性 | 作用 |
|---|---|
layout_constraintLeft_toLeftOf | 左边缘与目标控件左边缘对齐 |
layout_constraintTop_toTopOf | 上边缘与目标控件上边缘对齐 |
layout_constraintHorizontal_bias | 水平偏移比例(0-1) |
layout_constraintDimensionRatio | 宽高比(如 16:9) |
4. FrameLayout(帧布局)
核心特性
- 最简单的布局,所有控件默认叠加在左上角
- 后写的控件会覆盖先写的控件(层级关系)
- 无复杂对齐属性,轻量、渲染速度极快
关键属性
android:layout_gravity:控制控件在布局内的对齐方式(center、bottom 等)