颜色
<resources>
<color name="colorAccent">#7fff00ff</color>
</resources>
字符串
简单示例
<resources>
<string name="app_name">AppName</string>
</resources>
格式化字符串
<string name="str">number:%d</string>
getResources().getString(R.string.str, /* 参数包 */);
复数字符串
方案一
简介
- 此方案仅适用于英文系统。
xml
<plurals name="item">
<item quantity="zero">%d zero!</item>
<item quantity="one">%d one!</item>
<item quantity="other">%d other!</item>
</plurals>
代码
String str = getResources().getQuantityString(R.plurals.item, /* 数量 */, /* 匹配通配符 */);
方案二
简介
xml
<string name="item">{0,choice,0#0 item|1#1 item|1<{0} items}</string>
代码
String str = MessageFormat.format(getResources().getString(R.string.item), /* 数字 */);
解说
-
\<是<的转义字符。 -
0#代表等于0。 -
1<代表大于1。
布局引用
应该减少使用include,因为布局文件应当直观清晰。
<include layout="@layout/layout_name"/>
别名资源
给资源设置别名,必须定义在 values/refs.xml 中:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="layout_name" type="layout">@layout/activity_fragment</item>
</resources>
引用资源
- 对于不同命名空间下的引用必须包含命名空间,如:
android:Theme.Holo。 - 对于同一命名空间下的引用可以不用包含命名空间,如:
Theme.AppCompat。 -
@xxx用于指向 xxx 资源。 -
?xxx用于使用 xxx 指向的资源。
资源修饰符
-
资源修饰符 :指资源文件名称的后缀,对于特定后缀的资源只在特定情况下生效,否则使用默认无后缀版资源文件。可以使用右键创建,在创建时可以选择想要的 资源修饰符 :
-
-swXXXdp:在最小宽或高达到 XXXdp 时生效。 -
-wXXXdp:宽度大于等于 XXXdp 。 -
-hXXXdp:高度大于等于 XXXdp 。
-
mipmap目录
类似 drawable 目录,但是 APK分包工具 (可用于根据清晰度,将资源图片分开成几个包, mdpi APK 一个, hdpi APK 一个等等)会调过 mipmap 目录,所以 mipmap 通常用于存放同一设备需要多套资源的东西,如应用启动图标。其他资源应该放进 drawable 目录。