我想区分以下两个设备的布局/绘图:
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应该更适合。< / p>
当我完全删除layout-sw600dp-hdpi / drawable-sw600dp-hdpi时,它会选择2)并且一切都很好。但我也需要hdpi版本。
那么如何区分7“设备的ldpi / hpdi版本?
谢谢!
的Andrej
答案 0 :(得分:0)
如果支持多个屏幕不起作用,那么您可以手动完成:
使用flags创建bools-ldpi,bools-hdpi:
bools-ldpi包含名称为“lowDp”= true的字段 bools-hdpi包含名称为“highDp”= true等的字段。
在代码中你制作if-else if-else:
if ( getresource "lowDp" )
...
else if ( getresource "highDp" )
...
...
答案 1 :(得分:0)
我找不到参考了,但我认为我已经读过某个地方你不应该同时使用tinyWidth(swdp)或Avilable width(wdp)而不是屏幕像素密度(ldpi,hdpi等) 。)并且这种组合的结果是无限期的。
如果您为不同的屏幕像素密度显示不同的drawable,您应该将它们放在他们自己的可绘制的库中,如drawable-ldpi / icon.png或drawable-hdpi / icon.png,与布局库存分开并保持只有这些布局库的swdp术语。