以下是一些关于使用配置限定符名称的规则:
- 您可以为单组资源指定多个限定符,并使用短划线分隔。例如,
drawable-en-rUS-land
适用于横排美国英语设备。 - 这些限定符必须遵循表 2 中列出的顺序。例如:
- 错误:
drawable-hdpi-port/
- 正确:
drawable-port-hdpi/
- 错误:
- 不能嵌套备用资源目录。例如,您不能拥有
res/drawable/drawable-en/
。 - 值不区分大小写。在处理之前,资源编译器会将目录名称转换为小写,以避免不区分大小写的文件系统出现问题。 名称中使用的任何大写字母只是为了便于认读。
- 对于每种限定符类型,仅支持一个值。例如,若要对西班牙语和法语使用相同的可绘制对象文件,则您肯定不能拥有名为
drawable-rES-rFR/
的目录,而是需要两个包含相应文件的资源目录,如drawable-rES/
和drawable-rFR/
。然而,实际上您无需将相同的文件都复制到这两个位置。相反,您可以创建指向资源的别名。 请参阅下面的创建别名资源。
将备用资源保存到以这些限定符命名的目录中之后,Android 会根据当前设备配置在应用中自动应用这些资源。 每次请求资源时,Android 都会检查备用资源目录是否包含所请求的资源文件,然后查找最佳匹配资源(下文进行介绍)。 如果没有与特定设备配置匹配的备用资源,则 Android 会使用相应的默认资源(一组用于不含配置限定符的特定资源类型的资源)。