4

Android の「マルチスクリーン サイズ」ドメインで、かなり些細な作業に苦労しています。

私が達成しようとしていること

画面の幅に合わせたレイアウトで、サイズが変更される 9 パッチの背景があります (常に十分な垂直方向のスペースがあるため、水平方向のみ)。ダミー画像は次のとおりです。左端と右端に 2 つの領域がある水平方向に伸縮可能な 9 パッチ画像

私の目標は、画面の解像度に応じて、さまざまなサイズのセットを使用して、可能な限り最高の解像度で画像を表示することです。320x45、480x67、600x87、720x101、縮小なし。私は非プログラム的な解決策を望んでいます。

上記の画像サイズの例は次のようになります。

  • 3.7 インチの Nexus One (480 x 800) - 480 x 67 の画像が最適です。
  • 4.7 インチ Galaxy Nexus (720 x 1280) - 720 x 101 の画像。
  • 4.7 インチの Nexus 4 (768 x 1280) - 720 x 101 の画像を 768 ピクセルの幅いっぱいまで伸ばして 768 x 101 にします。

問題

dp実際に利用可能なピクセルに基づいて画像を表示したい場合、Android リソース割り当て全体は s (密度に依存しないピクセル) を中心に展開します。

480x67 の画像を res/drawable-mdpi に割り当て、600x87 の画像を res/drawable-hdpi に割り当てると、画像は 480x800 の5.4 インチ ディスプレイ、つまり mdpi ディスプレイに正しく表示されます。システムは600x87 の画像を指定しますが、これは画面に収まりません

オンライン ガイドsmallestWidthに記載されているパラメータを試してみましたが、奇妙な結果が得られました。たとえば、3.7 インチ 480 x 800 ディスプレイ (hdpi) は drawable-sw320dp 画像を使用しますが、drawable-sw480dp リソースも利用可能です。

可能な限り最高の品質で伸縮可能で幅が一致する画像を割り当てる最良の方法は何ですか? プログラム以外の解決策はありませんか?

前もって感謝します!

4

3 に答える 3

-1

Android では、hdpi、mdpi、xdpi などのオプションがあります。

そのためのフォルダー、デバイスの解像度に応じて異なる画像を作成し、デバイスの解像度と密度カテゴリを確認した後、そこに画像を配置する必要があります。

なぜそれが起こるのかについては、ここで見ることができます

ここで、いくつかのチャートが役立つ可能性があることを説明します。

低密度 小さい画面 QVGA 240x320 (120dpi):

drawable-small-ldpi (240x320) drawable
-small-land-ldpi (320x240)

低密度 通常画面 WVGA400 240x400 (x432) (120dpi):

drawable-ldpi (240 x 400) drawable-land-ldpi (400 x 240)

中密度 通常画面 HVGA 320x480 (160dpi):

drawable-mdpi (320 x 480) drawable-land-mdpi (480 x 320)

中密度 大画面 HVGA 320x480 (160dpi):

drawable-large-mdpi (320 x 480) drawable-large-land-mdpi (480 x 320)

ギャラクシー タブ (240 dpi):

drawable-large (600 x 1024) drawable-large-land (1024 x 600)

高密度 通常画面 WVGA800 480x800 (x854) (240 dpi):

drawable-hdpi (480 x 800) drawable-land-hdpi (800 x 480)

Xoom (中密度大だが 1280x800 解像度) (160 dpi):

drawable-xlarge (800 x 1280) drawable-xlarge-land (1280 x 800)

于 2014-05-28T09:34:44.113 に答える