Android が dpi プロファイルを使用してビットマップをスケーリングする方法が正しくないように思えます。
たとえば、次のように定義された、画面領域全体をカバーするための320x533画像があります。
<ImageView
android:src="@drawable/background"
android:layout_width="320dp"
android:layout_height="533dp" />
hdpi (240 または 1.5) では、画像は 480x800 に正しくスケーリングされます。ただし、xhdpi (320 または 2.0) ではそうではありません。つまり、画像は640x1066になりますが、実際の電話領域は 720x1280 または 1080x1920 または他の同様の解像度になる可能性があります。
ImageView.scaleType (すべてのオプション) を調整しようとしましたが、それでも画像が正しくスケーリングされません。これを処理する正しい方法は何だと思いますか?ImageView をサブクラス化し、Java でスケーリングを処理する必要がありますか、それとも基本的なものが欠けていますか?