異なる解像度で使用する描画可能フォルダを設定する 質問する

異なる解像度で使用する描画可能フォルダを設定する 質問する

アプリで使用するアイコンにはそれぞれ 4 つの異なるサイズがあります。問題は、Nexus 7 (1280 x 800) と Galaxy S2 (800 x 480) が drawable-hdpi のリソースを使用しているように見えることです。Nexus で drawable-xhdpi のリソースを使用するように強制し、10 インチ タブで drawable-xxhdpi を使用するようにするにはどうすればよいでしょうか。

マニフェストファイルにこれがあります

<supports-screens android:resizeable="true"
              android:smallScreens="true"
              android:normalScreens="true"
              android:largeScreens="true"
              android:xlargeScreens="true"
              android:anyDensity="true" />

ベストアンサー1

Nexus に drawable-xhdpi のリソースを使用させ、10 インチ タブに drawable-xxhdpi を使用させるにはどうすればよいですか?

あなたはできません。

修飾語はhdpi,xhdpi,xxhdpiデバイスの画面密度を表すものであり、画面サイズを表すものではありません。公式ドキュメント

画面密度

画面の物理領域内のピクセル数。通常は dpi (ドット/インチ) と呼ばれます。たとえば、「低」密度の画面では、「標準」または「高」密度の画面と比較して、特定の物理領域内のピクセル数が少なくなります。わかりやすくするために、Android では実際の画面密度をすべて、低、中、高、超高の 4 つの一般的な密度にグループ化しています。

タブレットもサポートしたい場合は、large, xlarge修飾子を使用します。Nexus 7 はlarge-hdpiタブレットです (技術的には ですtvdpiが、 から画像を取得しますhdpi)。したがって、Nexus 7 用の画像を配置したい場合は、 という名前のフォルダーを作成しdrawable-large-hdpi、そこに画像を配置します。

注記: これはNexus 7の特別なケースです。Nexus 7は7インチタブレットですが、解像度は1280 * 800つまり、これはhdpiデバイスです。しかし、通常の7インチデバイスは解像度が低く、1024 * 600これらはデバイスですmdpi。そのため、描画可能な修飾子は変更できます。(私自身の経験から、まずdrawable-large-mdpi7 インチ デバイス用のフォルダーを配置し、Nexus 7 で確認します。画像に問題がなければ、別のフォルダーを配置する必要はありません。特定のフォルダーが存在しない場合、Android は最も近いフォルダーをチェックし、デバイス画面用に最適化するためです)

さて、10インチタブレットの場合、それらはデバイスであり、その密度はから(Nexus 10)までxlarge変化します。しかし、多くのものは解像度がmdpixhdpi1280 * 800そしてそれらはmdpiデバイスです。

より良い方法は、次の描画可能なものを配置することです

// for Phones
drawable-ldpi
drawable-mdpi
drawable-hdpi

//for 7 inch tablets
drawable-large-mdpi
drawable-large-hdpi(for Nexus 7)

// for 10 inch tablets
drawable-xlarge-mdpi

おすすめ記事