いももちのきもち

新米プログラマによる技術的メモ

Androidで画面に合わせて適切な画像ファイルをよしなに読み込んでもらう

公式ガイドを読んだので簡単にメモする
developer.android.com

  • 画面のサイズはsmall, normal, large, xlargeの4種類
MyProject/
    res/
        layout/
            main.xml
        layout-large/
            main.xml

リソース配下layout(-hoge)に同じ名前でレイアウトを定義することで、呼び出し側はそのままで、Androidが画面サイズに合わせてうまいこと適切なレイアウトを選んでくれる。

  • 画面の向きはportrait(縦向き)とlandscape(横向き)の2種類
MyProject/
    res/
        layout/
            main.xml
        layout-land/
            main.xml

landのsuffix(接尾辞)をつけることで横向き画面を示す。
サイズと組み合わせるとlayout-large-land(例)

  • 画像の解像度はlow (ldpi), medium (mdpi), high (hdpi), extra high (xhdpi)の4種類
MyProject/
    res/
        drawable-xhdpi/
            image.png
        drawable-hdpi/
            image.png
        drawable-mdpi/
            image.png
        drawable-ldpi/
            image.png

これも似たような感じ。@drawable/imageで画面のdensityに合わせて適切なものを引っ張ってきてくれる。