android-支持多种屏幕[创建别名资源] 十三
2017-04-01 17:30
225 查看
如果您想将某一资源用于多种设备配置(但是不想作为默认资源提供),则无需将同一资源放入多个备用资源目录中。 相反,您可以(在某些情况下)创建备用资源,充当保存在默认资源目录下的资源的别名。
注:并非所有资源都会提供相应机制让您创建指向其他资源的别名。 特别是,
例如,假设您有一个应用图标
PNG 文件的一个版本和两个指向该版本的小型 XML 文件。(XML 文件示例如下。)
要创建指向现有可绘制对象的别名,请使用
如果将此文件另存为
要创建指向现有布局的别名,请使用包装在
如果将此文件另存为
要创建指向现有字符串的别名,只需将所需字符串的资源 ID 用作新字符串的值即可。例如:
其他简单值的原理相同。 例如,颜色:
注:并非所有资源都会提供相应机制让您创建指向其他资源的别名。 特别是,
xml/目录中的动画资源、菜单资源、原始资源以及其他未指定资源均不提供此功能。
例如,假设您有一个应用图标
icon.png,并且需要不同语言区域的独特版本。 但是,加拿大英语和加拿大法语这两种语言区域需要使用同一版本。 您可能会认为需要将相同的图像复制到加拿大英语和加拿大法语对应的资源目录中,但事实并非如此。 相反,您可以将用于二者的图像另存为
icon_ca.png(除
icon.png以外的任何名称),并将其放入默认
res/drawable/目录中。然后,在
res/drawable-en-rCA/和
res/drawable-fr-rCA/中创建
icon.xml文件,使用
<bitmap>元素引用
icon_ca.png资源。这样,您只需存储
PNG 文件的一个版本和两个指向该版本的小型 XML 文件。(XML 文件示例如下。)
可绘制对象
要创建指向现有可绘制对象的别名,请使用 <bitmap>元素。例如:
<?xml version="1.0" encoding="utf-8"?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/icon_ca" />
如果将此文件另存为
icon.xml(例如,在备用资源目录中,另存为
res/drawable-en-rCA/),则会编译到可作为
R.drawable.icon引用的资源中,但实际上它是
R.drawable.icon_ca资源(保存在
res/drawable/中)的别名。
布局
要创建指向现有布局的别名,请使用包装在 <merge>中的
<include>元素。例如:
<?xml version="1.0" encoding="utf-8"?> <merge> <include layout="@layout/main_ltr"/> </merge>
如果将此文件另存为
main.xml,则会编译到可作为
R.layout.main引用的资源中,但实际上它是
R.layout.main_ltr资源的别名。
字符串和其他简单值
要创建指向现有字符串的别名,只需将所需字符串的资源 ID 用作新字符串的值即可。例如:<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello</string> <string name="hi">@string/hello</string> </resources>
R.string.hi资源现在是
R.string.hello的别名。
其他简单值的原理相同。 例如,颜色:
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="red">#f00</color> <color name="highlight">@color/red</color> </resources>
相关文章推荐
- 创建支持多种屏幕尺寸的Android应用
- android-支持多种屏幕[提供备用资源] 十一
- 【eoe教程】创建支持多种屏幕尺寸的Android应用
- android-支持多种屏幕[分组资源类型] 十
- android-支持多种屏幕[访问资源] 十五
- android-支持多种屏幕[利用资源提供最佳设备兼容性] 十四
- 【eoe教程】创建支持多种屏幕尺寸的Android应用
- 【eoe教程】创建支持多种屏幕尺寸的Android应用
- 创建支持多种屏幕尺寸的Android应用
- 如何使Android应用支持多种屏幕分辨率
- 如何让android 支持多种屏幕尺寸
- Android training(2)-Designing for Multiple Screens(为支持多种屏幕而设计)(B)
- android支持多种屏幕
- ym——Android如何支持多种屏幕
- 创办支持多种屏幕尺寸的Android应用
- Android training(3)-Designing for Multiple Screens(为支持多种屏幕而设计)(C)
- Android针对多种屏幕进行设计(一)支持各种屏幕尺寸
- android 布局如何支持多种不同屏幕尺寸
- Android如何支持多种屏幕
- Android支持多种设备的方法及资源文件的使用