【发布时间】:2016-07-10 21:02:03
【问题描述】:
我有一个简单的布局文件,其中包含一个 TextView(用于测试)。我正在尝试根据所选设备在适当的值文件中根据dimen 的值更改文本的大小。 除了 Nexus 5X/6/6P 之外,我可以在 Android Studio 中的所有设备上使用此功能。
我们以 Nexus 6 为例。
1440 x 2560 - 560dpi
560dpi 是 xxhdpi 设备 (x3)
所以将分辨率除以 3 我们得到 480 x 853
这个设备的最小宽度是480。
我有以下值的文件夹:
sw320dp
sw480dp
sw600dp
sw720dp
sw800dp
实际上,我每个都有 5 个,mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi 的密度各一个。
我在布局中设置了我的TextView 的textSize 属性以使用myTextValue 的dimen,它在上面提到的每个不同尺寸文件中都有不同的值。
打开此布局文件时,显示正在使用 values/dimen,该值显示为 30,恰好是我的 values-sw320dp-hdpi 文件夹中的值。
除非我完全错过了什么,否则这是完全错误的。 它应该使用 values-sw480dp-xxhdpi 文件夹中的dimen。
更复杂的是,即使我可以知道它使用了哪个dimen 文件,但对该文件进行更改对布局没有任何影响,就像它不能用它做任何事情/没有使用它.
这仅发生在 Android Studio 中的上述 3 台设备上,并且仅发生在我的 5 个原始布局文件之一和我创建的任何新文件中。我还有 4 个其他布局文件“似乎”按我的预期工作。
这让我发疯了,所以如果有人有任何建议,我将不胜感激。谢谢
【问题讨论】:
标签: android