【问题标题】:Android resource size qualifierAndroid 资源大小限定符
【发布时间】:2012-09-28 10:45:57
【问题描述】:

我无法从“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”值。

提前谢谢你

【问题讨论】:

    标签: android resources qualifiers


    【解决方案1】:

    根据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 是设备抽象密度。

    【讨论】:

    • 因此按照上述逻辑,如果我将 sw480dp 更改为 sw320dp,它应该可以在 Xperia 上运行。我说的对吗?
    • 按照上述逻辑——是的;但请记住,这些“sw”限定符仅适用于 Android 13 级(即 3.2)及更高版本。
    • 我们是否有任何参考资料告诉“sw”限定符仅适用于 Android 13 级或更高版本。谢谢
    • developer.android.com/guide/topics/resources/… 说“在 API 级别 13 中添加。”在最小宽度描述列中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-05
    • 1970-01-01
    相关资源
    最近更新 更多