0

我想区分以下两种设备的布局/可绘制对象:

1) 7" hdpi
2) 7" ldpi

所以我使用以下合格的目录:

1) layout-sw600dp-hdpi / drawable-sw600dp-hdpi
2) layout-sw600dp-ldpi / drawable-sw600dp-ldpi

但是当我在屏幕尺寸为 480x764 的 7" ldpi 设备上运行时,Android (V4.0.3) 会选择 hdpi 版本。为什么?当我阅读文档时,ldpi 应该更适合。

当我完全删除 layout-sw600dp-hdpi / drawable-sw600dp-hdpi 时,它确实选择了 2),一切都很好。但我也需要 hdpi 版本。

那么如何区分 7" 设备的 ldpi/hpdi 版本呢?

谢谢!

安德烈

4

2 回答 2

0

我再也找不到参考了,但我认为我在某处读到过,您不应该同时使用 minimumWidth (swdp) 或 Avilable width (wdp) 而不是屏幕像素密度(ldpi、hdpi 等)和这种组合的结果是不确定的。

如果您要针对不同的屏幕像素密度显示不同的可绘制对象,则应将它们放在自己的可绘制目录中,例如 drawable-ldpi/icon.png 或 drawable-hdpi/icon.png,与布局目录分开并仅保留 swdp这些布局库的术语。

于 2012-12-30T11:29:51.823 回答
0

如果对多个屏幕的支持不起作用,那么您可以手动进行:

创建带有标志的 bools-ldpi、bools-hdpi:

bools-ldpi 包含名称为“lowDp”的字段 = true bools-hdpi 包含名称为“highDp”的字段 = true 等。

在代码中,您制作 if-else if-else :

if ( getresource "lowDp" ) 
    ...
else if ( getresource "highDp" ) 
    ...
...
于 2012-12-29T15:26:27.103 回答