アプリで使用するアイコンにはそれぞれ 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-mdpi
7 インチ デバイス用のフォルダーを配置し、Nexus 7 で確認します。画像に問題がなければ、別のフォルダーを配置する必要はありません。特定のフォルダーが存在しない場合、Android は最も近いフォルダーをチェックし、デバイス画面用に最適化するためです)
さて、10インチタブレットの場合、それらはデバイスであり、その密度はから(Nexus 10)までxlarge
変化します。しかし、多くのものは解像度がmdpi
xhdpi
1280 * 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