1

アプリを移植する新しいデバイスがあります (Kindle Fire HDX)

DisplayMetricsダンプ:

DPI : 320, 
wxh 1920x1200, 
x,y dpi 324.255x322.966, 
scaleddensity 2.0 
densityfactor 2.0

レイアウトリソースを配置する最も正確なフォルダ「swXXXdp」は何ですか? displayMetrics からその「XXX」を計算できますか?

  • 10.1 の Galaxy タブをターゲットにするには、" sw720dp" を使用します。
  • 古い 7" 1024x600 をターゲットにするには、" sw600dp"を使用します
  • この kindle fire は " sw600dp" からもリソースを取得しているようですが、その理由は完全にはわかりません (他の 7" よりもはるかに解像度の高い画面であるため)。

誰か光を当てることができますか?どうも!

4

1 に答える 1

3

みんなの回答と少しの調査のおかげで、ようやくswXXXXのことを理解しました。

sw* XXXX * および sh* XXXX * は実際には、使用可能な最小の幅と最小の高さを意味しますが、ディスプレイ メトリックのDesity Factorもこの値に影響します。

例えば

  • Amazon Kindle Fire HDX 7" の「生の」解像度は 1920x1200 ですが、ディスプレイは超高密度 (xhdpi) であるため、密度係数が 2 に設定されています。リソースについては、Android は sw(1200/2 ) == sw600dp .

  • 私の古いタブレットも 7 インチで、生の解像度は 1024x600 ですが、ディスプレイの密度が低いため、DisplayMetrics は密度係数 1 を返し、関連するリソース フォルダーは sw(600/1)dp == sw600dpになります。

  • 新しい「網膜のような」10 インチ画面の解像度は約 2560x1600 ですが、密度係数は 2 であるため、swXXXX レイアウトに関しては、密度係数が 1 の 1280x720 画面 (つまり. Galaxy Tab):どちらの場合もフォルダーはsw720dpです。

  • そのため、レイアウト フォルダーは同じですが、異なる密度コードに従ってビットマップ リソースが取得されます。私が説明している最新のタブレットは xhdpi を使用していますが、古いタブレットは mdpi または hdpi を使用しています (今は思い出せません)。これが最終的に機能する理由です。同じレイアウトで密度に依存しない寸法を使用し、密度に依存するビットマップをロードします。最後のオムレツが美味しい!

于 2014-03-23T16:49:27.760 に答える