/ values-normal-mdpi中的值覆盖/ values中的值

时间:2013-07-10 00:59:44

标签: android android-resources dimensions

我有点困惑,希望有人可以为我澄清。

我在/ res / values中有一个尺寸文件,但我想覆盖一些普通mdpi屏幕的默认尺寸。即我想为normal-mdpi设置特殊尺寸,不会影响我的屏幕尺寸/密度桶的其余部分。

但是,我在res / values-normal-mdpi / dimens.xml中放置的尺寸正在影响其他屏幕尺寸/分辨率存储桶(例如large-xhdpi)。我希望大的xhdpi仍然可以从res /值中拉出来,而不会受到我放入rev / values-normal-mdpi的影响。

有人为什么?我如何才能达到预期的效果?

1 个答案:

答案 0 :(得分:1)

This SO Question非常相似,其答案非常有用(1)(2)。基本上,Android系统会使用these methods找到最佳匹配。对于屏幕密度,它将找到最接近的匹配并采取它。如果维度不在任何密度特定的目录中,它将仅使用res/values/dimens.xml

在这种情况下,在任何目录中创建另一个dimens版本,以便与您要支持的其他设备“更好地匹配”(例如:values-hdpi),并设置默认值在那里被重写的维度值。