1

我无法从“values-sw480dp”获取值,也无法在我的 480 x 854 的索尼 Xperia 设备上获取值,也无法在 600 x 1024 的三星银河选项卡上获取值。但能够在 1280 x 752 的摩托罗拉 Xoom 上获取值。

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

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

各个设备上的值

索尼 Xperia ----> @2131034113

三星---->@2131034113

在 xoom ---> 你好世界

谁能解释我这种行为,为什么索尼 Xperia 和三星有“@2131034113”的价值。

先感谢您

4

1 回答 1

4

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

要获得设备屏幕尺寸,dp您需要知道抽象密度类(ldpi=120、mdpi=160、hdpi=240、xhdpi=320)。对于上面的 Xperia 屏幕,计算是:(480*160/240) x (854*160/240),其中 160 是基本密度(其中 1dp实际上等于一个像素),而 240 是设备抽象密度。

于 2012-09-28T10:58:50.490 回答