通常、(アップスケーリングではなく) ダウンスケーリングが最適なオプションです。縮小しても画像の品質が低下したり、情報が失われたりしない場合は、画像の 2 倍バージョンをres/ drawable-xhdpiフォルダーに入れます。Android は、密度の低いデバイスではこれらの画像を適切に縮小します。
たとえば、64x64 ピクセルの jpg/png をres/drawable-xhdpiに配置すると、Android はそれを mdpi デバイスでは 32x32 ピクセルとして、hdpi デバイスでは 48x48 ピクセルの画像として、xhdpi デバイスでは 64x64 ピクセルの画像として表示します。
画像を縮小すると画像が劣化する場合 (たとえば、画像に 1 ピクセルの線があり、縮小すると消える場合)、唯一のオプションは、drawable-mdpi、drawable-hdpi などに画像のバリエーションを追加することです。ディレクトリ。
コメント後の更新:
(より高密度の画面ではなく)大きな画面で画像を大きく表示したい場合があります。画像を drawable-xhdpi フォルダーのみに配置することでこれを行うことができますが、次のようにします。
たとえば、画像の 1 つを表示する ImageView を使用して、このレイアウトを res/layout に配置します。
res/drawable-xhdpi/one_of_my_images.png
res/layout/somelayout.xml
....
<ImageView
android:layout_height="@dimen/image_height"
android:layout_width="@dimen/image_width"
android:src="@drawable/one_of_my_images"
android:scaleType="fitCenter"
....
/>
res/values/dimens.xml
....
<dimen name="image_height">100dip</dimen>
<dimen name="image_width">150dip</dimen>
....
res/values-large/dimens.xml
....
<dimen name="image_height">150dip</dimen>
<dimen name="image_width">225dip</dimen>
....
res/values-xlarge/dimens.xml
....
<dimen name="image_height">200dip</dimen>
<dimen name="image_width">300dip</dimen>
....
ご覧のとおり、画面が大きいほど、画像が大きくなります (ディップで、したがってインチで)。res/values-xlarge-hdpi、res/values-xlarge-xhdpi などの dimens.xml で image_height と image_width のさまざまな値を試して、何が最適かを確認できます。
コメントの後の更新 2:
適切なリソースをロードする独自の「カスタム」スキームが必要な場合は、それらを id res/drawable-nodpi に入力します
。 drawable-nodpi/one_of_my_images_xlarge.png
次に、適切なドローアブル ディレクトリ (res/drawable/、res/drawable-large、/res/drawable-sw360dp/ など、思いつくものは何でも) に、nodpi ディレクトリから正しいリソースを間接的に参照する xml ファイルを配置します。例えば
res/drawable-xlarge-mdpi/my_images.xml
<resources>
....
<item type="drawable" name="one_of_my_images">@drawable/one_of_my_images_large</item>
....
</resources>
これは、特大の mdpi 画面の場合、Android が drawable-nodpi ディレクトリから「one_of_my_image_large.png」をロードすることを意味します。