★11.Resource

颜色

<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&lt;{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 目录。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容