1

「values-sw480dp」からも、480 x 854 の Sony Xperia デバイスからも、600 x 1024 の Samsung Galaxy タブでも値を取得できません。しかし、1280 x 752 の Motorola Xoom では取得できます。

例 res/values-sw480dp/strings.xml/

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

各デバイスの値

ソニー Xperia -> @2131034113

サムスン -> @2131034113

xoom ---> ハローワールド

なぜSony XperiaとSamsungが「@ 2131034113」の値を持っているのか、この動作を説明できる人はいますか。

前もって感謝します

4

1 に答える 1

4

http://developer.android.com/guide/topics/resources/providing-resources.htmlによると、sw480dp は «画面の最小側が少なくとも 480 dp でなければならない» を意味します。現在dpは「160 dpi 画面上のピクセル」なので、たとえば Xperia の実際のサイズはdp320 x 569 になると思います (hdpi デバイスの場合)。

デバイスの画面サイズを取得するdpには、抽象化された密度クラス (ldpi=120、mdpi=160、hdpi=240、xhdpi=320) を知る必要があります。上記の Xperia 画面の場合、計算は次のとおりです(480*160/240) x (854*160/240)。ここで、160 は基本密度 (1dpは実際には 1 ピクセルに等しい) であり、240 はデバイスの抽象化された密度です。

于 2012-09-28T10:58:50.490 に答える