android项目 res/ 目录内支持的资源目录详解

表 1. 项目 res/ 目录内支持的资源目录

目录 资源类型
animator/ 用于定义属性动画的 XML 文件。
anim/ 定义渐变动画的 XML 文件。(属性动画也可以保存在此目录中,但是为了区分这两种类型,属性动画首选 animator/ 目录。)
color/ 用于定义颜色状态列表的 XML 文件。请参阅颜色状态列表资源
drawable/

位图文件(.png.9.png.jpg.gif)或编译为以下 Drawable 资源子类型的 XML 文件:

  • 位图文件
  • 九宫格(可调整大小的位图)
  • 状态列表
  • 形状
  • 动画 Drawable
  • 其他 Drawable

请参阅 Drawable 资源。

mipmap/ 适用于不同启动器图标密度的 Drawable 文件。如需了解有关使用 mipmap/ 文件夹管理启动器图标的详细信息,请参阅管理项目概览。
layout/ 用于定义用户界面布局的 XML 文件。 请参阅布局资源。
menu/ 用于定义应用菜单(如选项菜单、上下文菜单或子菜单)的 XML 文件。请参阅菜单资源。
raw/

要以原始形式保存的任意文件。要使用原始 InputStream 打开这些资源,请使用资源 ID(即 R.raw.filename)调用Resources.openRawResource()

但是,如需访问原始文件名和文件层次结构,则可以考虑将某些资源保存在 assets/ 目录下(而不是 res/raw/)。assets/ 中的文件没有资源 ID,因此您只能使用 AssetManager 读取这些文件。

values/

包含字符串、整型数和颜色等简单值的 XML 文件。

其他 res/ 子目录中的 XML 资源文件是根据 XML 文件名定义单个资源,而目录中的 values/ 文件可描述多个资源。对于此目录中的文件,<resources> 元素的每个子元素均定义一个资源。例如,<string> 元素创建 R.string 资源,<color> 元素创建 R.color 资源。

由于每个资源均用其自己的 XML 元素定义,因此您可以根据自己的需要命名文件,并将不同的资源类型放在一个文件中。但是,为了清晰起见,您可能需要将独特的资源类型放在不同的文件中。 例如,对于可在此目录中创建的资源,下面给出了相应的文件名约定:

  • arrays.xml,用于资源数组(类型化数组)。
  • colors.xml:颜色值。
  • dimens.xml:尺寸值。
  • strings.xml:字符串值。
  • styles.xml:样式。

请参阅字符串资源、样式资源和更多资源类型。

xml/ 可以在运行时通过调用 Resources.getXML() 读取的任意 XML 文件。各种 XML 配置文件(如可搜索配置)都必须保存在此处。

注意:切勿将资源文件直接保存在 res/ 目录内,这会导致出现编译错误。

你可能感兴趣的:(android项目 res/ 目录内支持的资源目录详解)