我想根据屏幕尺寸加载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,但我没有定义颜色。
是否有某种方法可以定义用于任何设备配置的某些值资源,同时在每个配置的基础上定义其他类型的值资源?
答案 0 :(得分:3)
该目录结构应该按原样运行。来自Providing Resources
的文档而其他res /子目录中的XML资源文件定义了 基于XML文件名的单一资源,值/中的文件 目录描述多个资源。对于此目录中的文件, resources元素的每个子元素定义一个资源。对于 例如,一个元素创建一个R.string资源和一个颜色 element创建一个R.color资源。
这意味着除非您在({say)values-large
目录中有特定颜色,否则将使用values
中的值。粒度为 per-resource ,实际文件的名称并不重要。