Android - 对不同的资源类型</qualifiers>同时使用res / values和res / values- <qualifiers>

时间:2014-06-14 03:51:32

标签: android android-layout android-resources

我想根据屏幕尺寸加载dimens.xml,但无论屏幕大小如何,都使用相同的颜色。

我有以下目录结构

res
 res/values
  colors.xml
 res/values-small
  dimens.xml
 res/values-normal
  dimens.xml
 res/values-large
  dimens.xml
 res/values-xlarge
  dimens.xml

我是Android新手,但似乎系统在加载时只选择一个目录。这意味着,尽管我根据需要从values- 限定符目录中获取了dimens.xml,但我没有定义颜色。

是否有某种方法可以定义用于任何设备配置的某些资源,同时在每个配置的基础上定义其他类型的资源?

1 个答案:

答案 0 :(得分:3)

该目录结构应该按原样运行。来自Providing Resources

的文档
  

而其他res /子目录中的XML资源文件定义了   基于XML文件名的单一资源,值/中的文件   目录描述多个资源。对于此目录中的文件,   resources元素的每个子元素定义一个资源。对于   例如,一个元素创建一个R.string资源和一个颜色   element创建一个R.color资源。

这意味着除非您在({say)values-large目录中有特定颜色,否则将使用values中的值。粒度为 per-resource ,实际文件的名称并不重要。