Android资源大小限定符

时间:2012-09-28 10:45:57

标签: android resources qualifiers

我无法从“values-sw480dp”获取值,也无法在我的索尼Xperia设备上获得480 x 854的值,这些设备在300 x 1024的三星Galaxy标签上都没有。但是能够使用1280 x 752的摩托罗拉Xoom。

例如res / values-sw480dp / strings.xml /

<string name="hello_world">hello world</string>

各设备上的值

Sony Xperia ----&gt; @ 2131034113

三星----&gt; @ 2131034113

on xoom ---&gt;你好世界

任何人都可以解释一下这种行为,为什么索尼Xperia和三星有“@ 2131034113”的价值。

提前谢谢

1 个答案:

答案 0 :(得分:3)

根据http://developer.android.com/guide/topics/resources/providing-resources.html,sw480dp表示“屏幕的最小边必须至少为480 dp”。现在dp是“160 dpi屏幕上的像素”,因此实际大小为dp中的Xperia将是320 x 569(假设它是hdpi设备)。

要在dp中获取设备屏幕大小,您需要知道抽象密度等级(ldpi = 120,mdpi = 160,hdpi = 240,xhdpi = 320)。对于上面的Xperia屏幕,计算结果为:(480*160/240) x (854*160/240),其中160是基本密度(1 dp实际上等于一个像素),240是设备抽象密度。