2

どのレイアウトがどのデバイスを使用しているかを理解しようとしています。

たとえば、私はさまざまなレイアウトを持っています:

  • レイアウト
  • レイアウト-sw600dp
  • レイアウト-sw720dp

Nexus 7 インチ(800x1280)は layout-sw600dp を使用

Samsung GTp3100 7 インチ (600x1.024) は、layout-sw600dp を使用します

Samsung Tab 10.1 (1280x800) は、layout-sw720dp を使用します

Sony XPERIA S 4.3 (1280x720) はレイアウトを使用

XPERIA Sがsw600dpやsw720dpを使わない理由を「あなたの言葉で」説明していただけますか? SW !=最小幅? XPERIA Sからで最小は720です。sw720かsw600を使っているはずですよね?それとも私が間違っていますか?

大量のドキュメントを読みましたが、なぜこれが起こっているのか理解できません。

どうもありがとう。

4

1 に答える 1

5

Smallest-Width 修飾子は、物理的なピクセルではなく、主に画面サイズを参照します。

sw720dpたとえば、デバイスの最小画面幅が 720 (デバイスに依存しないピクセル) である必要があることを意味します。dpこれは約 720 の物理ピクセルではありません。ドキュメントから...

密度に依存しないピクセルは、160 dpi 画面上の 1 つの物理ピクセルに相当します。これは、「中」密度の画面に対してシステムが想定するベースライン密度です。

Sony XPERIA S 4.3 の物理的な幅は 2.5 インチですが、画面の実際の幅がどれくらいかはわかりません。

計算のために、画面が全幅をカバーするふりをしましょう...この場合dpi、幅を計算するには、単純に を使用します720 / 2.5 = 288dpi

のドキュメントからdp...

dp 単位から画面ピクセルへの変換は簡単です: px = dp * (dpi / 160)。

上記の式を並べ替えて計算すると、次のようになりdpます...

dp = px / (dpi / 160)

...これにより、次の幅dp(および必要な Smallest-width 修飾子) が得られます...

720 / (288 / 160) = 400dp

要するに、Sony XPERIA S 4.3 は (サイズの割には) 高密度の画面を備えているかもしれませんが、大画面ではないということです。

于 2013-03-21T10:13:20.000 に答える