我无法从“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”的价值。
提前谢谢
答案 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是设备抽象密度。