画面に14個のアイコンがあるレイアウトに取り組んでいます。すべてのアイコンの 9 パッチイメージを作成し、それらを対応するフォルダーに追加しました: MDPI、HDPI、XHDPI、XXHDPI、XXXHDPI、正常に動作しています。画像が追加され、それに応じて「画面サイズ」ではなく「画面密度」を表示するように選択されることがわかっているため、いくつかのデバイスでテストしました。
ScreenLayout_Size_Maskを使用して、実際の画面サイズ カテゴリを取得しました。(ScreenLayout_Size_SMALL、ScreenLayout_Size_NORMAL、ScreenLayout_Size_LARGE、ScreenLayout_Size_XLARGE) 画面の画面サイズと密度を取得しています。参照用:リンク
デバイスの場合:
Nexus7(1200×1920px~323ppi):
ScreenLayout_Size_LARGE および Density は XHIGH
Samsung Galaxy Grand-2(720 x 1280 px ~280 ppi):
ScreenLayout_Size_NORMAL および Density は XHIGH です。
「画面サイズ」には大きな違いがありますが、dpi は同じ (XHIGH) であるため、両方のデバイスの選択されたアイコン画像は同じ密度 (XHDPI) のみであり、アイコンが大きく膨らむため、実際には実行しないでください。小さな画面のデバイス(Galaxy Grand-2)では比較的サイズが大きく、乱雑に見えます。
Android 標準によれば、複数の画面密度に対してのみ画像リソースを追加でき、画面サイズには応じません。
私が得た1つのオプションは、ImageViewのサイズを画面サイズとの比率で設定することですが、レイアウトには14個のアイコンがあります。すべてのImageViewの適切な比率のサイズを取得するにはどうすればよいですか?
私が見つけた他のアプローチは、次のようにプログラムで行うことです:
ScreenLayout_Size_Mask を使用して実際の画面サイズを取得する
(small、normal、large、xlarge) に別の名前を付けて別の画像を追加します。
そうする適切な方法はありますか?どんな助けでも大歓迎です。