android资源类型列举

7 阅读3分钟

一、最常用的核心资源(开发必备)

这是日常开发中 90% 会用到的资源类型:

1. 布局资源 (Layout)

  • 目录:res/layout/
  • 后缀:.xml
  • 作用:定义界面结构(按钮、文本、列表等)
  • 示例:activity_main.xml

2. 图片 / 矢量资源 (Drawables)

  • 目录:res/drawable-*/res/mipmap-*/
  • 类型:位图(png/jpg)、矢量图(xml)、形状、选择器
  • 作用:界面图标、背景、按钮状态
  • 示例:ic_launcher.xmlbg_button.xml

3. 字符串资源 (Strings)

  • 目录:res/values/strings.xml

  • 作用:存放文本,支持多语言适配

  • 示例:

    xml

    <string name="app_name">我的应用</string>
    

4. 颜色资源 (Colors)

  • 目录:res/values/colors.xml

  • 作用:统一管理颜色值

  • 示例:

    xml

    <color name="white">#FFFFFF</color>
    

5. 尺寸资源 (Dimensions)

  • 目录:res/values/dimens.xml

  • 单位:dp(屏幕适配)、sp(文字)、px(像素)

  • 示例:

    xml

    <dimen name="padding_16">16dp</dimen>
    

6. 样式与主题 (Styles & Themes)

  • 目录:res/values/styles.xmlthemes.xml
  • 作用:统一界面风格、字体、背景、状态栏样式
  • 示例:App 全局主题、按钮样式

二、进阶常用资源

7. 数组资源 (Arrays)

  • 目录:res/values/arrays.xml
  • 作用:存放字符串数组、整型数组
  • 示例:下拉列表选项

8. 动画资源 (Animations)

  • 目录:res/anim/(补间动画)、res/animator/(属性动画)
  • 作用:界面切换、控件动效

9. 菜单资源 (Menus)

  • 目录:res/menu/
  • 作用:定义选项菜单、上下文菜单
  • 示例:menu_main.xml

10. 原始文件 (Raw)

  • 目录:res/raw/
  • 作用:存放音频、视频、文本等不编译的文件

11. 字体资源 (Fonts)

  • 目录:res/font/
  • 作用:自定义应用字体(ttf/otf)

二、Android 布局资源 4 种最常用类型(详细讲解)

Android 布局资源(res/layout/*.xml)负责定义界面长什么样,最核心、最常用的只有 4 种,我用最清晰、最实用的方式讲透:

  1. LinearLayout(线性布局)
  2. RelativeLayout(相对布局)
  3. FrameLayout(帧布局)
  4. ConstraintLayout(约束布局 —— 官方推荐)

1. LinearLayout 线性布局(最简单、最基础)

一句话总结:所有子控件按一条直线排列,要么水平,要么垂直。

核心特点

  • 只能横向 / 纵向排列
  • 简单、轻量、性能好
  • 适合简单界面、列表项、一行 / 一列控件

适用场景

  • 登录界面的输入框垂直排列
  • 列表 item 布局
  • 简单的一行图标 + 文字

2. RelativeLayout 相对布局(灵活自由)

一句话总结:子控件根据其他控件或父容器的位置来定位

核心特点

  • 不用线性排列,可自由指定 “在谁左边、在谁上方、居中”
  • 比 LinearLayout 更灵活
  • 适合复杂一点但不极端复杂的界面

适用场景

  • 头像 + 昵称 + 描述的不规则排版
  • 按钮在右下角、右上角
  • 中等复杂度界面

3. FrameLayout 帧布局(层叠、最简单)

一句话总结:所有子控件默认都叠在左上角,后来的控件盖在前面的上面。

核心特点

  • 层叠布局
  • 性能最高(几乎没有计算成本)
  • 只适合简单层叠、碎片、容器

适用场景

  • 图片上叠加文字 / 角标
  • Fragment 容器
  • 视频播放界面上层控制栏

4. ConstraintLayout 约束布局(官方首选、最强大)

一句话总结:通过给控件加约束(左右上下对齐、居中、比例) 实现任何复杂界面,性能最好、嵌套最少

核心特点

  • Android Studio 默认布局
  • 几乎可以完全替代另外三种布局
  • 减少布局嵌套 → 界面更流畅
  • 支持可视化拖拽编辑

适用场景

  • 所有界面都推荐使用
  • 复杂 UI
  • 需要适配各种屏幕
  • 减少布局层级

总结

  • LinearLayout:线性排列,适合简单界面
  • RelativeLayout:相对定位,灵活排版
  • FrameLayout:层叠覆盖,性能最高
  • ConstraintLayout:约束定位,官方首选、功能最强