android-支持多种屏幕[分组资源类型] 十
2017-04-01 17:02
190 查看
您应将各种资源放入项目
正如您在此示例中所看到的那样,
注:如需了解有关使用 mipmap 文件夹的详细信息,请参阅管理项目概览。
表 1. 项目
注意:切勿将资源文件直接保存在
如需了解有关某些资源类型的详细信息,请参阅资源类型文档。
保存在表 1 中定义的子目录下的资源是“默认”资源。即,这些资源定义应用的默认设计和内容。但是,采用 Android 技术的不同设备类型可能需要不同类型的资源。例如,如果设备的屏幕尺寸大于标准屏幕,则应提供不同的布局资源,以充分利用额外的屏幕空间。 或者,如果设备的语言设置不同,则应提供不同的字符串资源,以转换用户界面中的文本。 要为不同的设备配置提供这些不同资源,除了默认资源以外,您还需要提供备用资源。
res/目录的特定子目录下。例如,以下是一个简单项目的文件层次结构:
MyProject/ src/ MyActivity.java res/ drawable/ graphic.png layout/ main.xml info.xml mipmap/ icon.png values/ strings.xml
正如您在此示例中所看到的那样,
res/目录包含所有资源(在子目录下):一个图像资源、两个布局资源、启动器图标的
mipmap/目录以及一个字符串资源文件。资源目录名称非常重要,将在表 1 中进行介绍。
注:如需了解有关使用 mipmap 文件夹的详细信息,请参阅管理项目概览。
表 1. 项目
res/目录内支持的资源目录。
目录 | 资源类型 |
---|---|
animator/ | 用于定义属性动画的 XML 文件。 |
anim/ | 定义渐变动画的 XML 文件。(属性动画也可以保存在此目录中,但是为了区分这两种类型,属性动画首选 animator/目录。) |
color/ | 用于定义颜色状态列表的 XML 文件。请参阅颜色状态列表资源 |
drawable/ | 位图文件(.png、 .9.png、 .jpg、 .gif)或编译为以下可绘制对象资源子类型的 XML 文件: 位图文件 九宫格(可调整大小的位图) 状态列表 形状 动画可绘制对象 其他可绘制对象 请参阅 可绘制对象资源。 |
mipmap/ | 适用于不同启动器图标密度的可绘制对象文件。如需了解有关使用 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/目录内,这会导致出现编译错误。
如需了解有关某些资源类型的详细信息,请参阅资源类型文档。
保存在表 1 中定义的子目录下的资源是“默认”资源。即,这些资源定义应用的默认设计和内容。但是,采用 Android 技术的不同设备类型可能需要不同类型的资源。例如,如果设备的屏幕尺寸大于标准屏幕,则应提供不同的布局资源,以充分利用额外的屏幕空间。 或者,如果设备的语言设置不同,则应提供不同的字符串资源,以转换用户界面中的文本。 要为不同的设备配置提供这些不同资源,除了默认资源以外,您还需要提供备用资源。
相关文章推荐
- android-支持多种屏幕[创建别名资源] 十三
- android-支持多种屏幕[利用资源提供最佳设备兼容性] 十四
- android-支持多种屏幕[访问资源] 十五
- android-支持多种屏幕[提供备用资源] 十一
- Android 针对多种屏幕进行设计 (一)支持各种屏幕尺寸
- Android 支持多种屏幕第二篇
- Android针对多种屏幕进行设计(一)支持各种屏幕尺寸
- android 布局如何支持多种不同屏幕尺寸
- android 布局如何支持多种不同屏幕尺寸
- 创建支持多种屏幕尺寸的Android应用
- 如何使Android应用支持多种屏幕分辨率
- Android PreloadDataCache支持预取的数据缓存,使用简单,支持多种缓存算法,支持不同网络类型,扩展性强 (七)
- 【Java/Android性能优 4】PreloadDataCache支持预取的数据缓存,使用简单,支持多种缓存算法,支持不同网络类型,扩展性强
- android 布局如何支持多种不同屏幕尺寸
- android 布局如何支持多种不同屏幕尺寸
- android 布局如何支持多种不同屏幕尺寸
- android-支持多种屏幕[支持的屏幕范围] 二
- android-支持多种屏幕[设计替代布局和可绘制对象] 六
- android-支持多种屏幕[声明适用于 Android 3.2 的平板电脑布局] 七
- android-支持多种屏幕[版本市场占有率] 九