2013年5月15日水曜日

異なる大きさの画面への対応

Android では特定の画面サイズや解像度に対して専用のリソースを準備出来ます。
アプリ実行時に、端末の画面に合わせて適切なリソースがロードされます。


画像

解像度ごとに画像を変えることができます。

res/drawable-ldpi
res/drawable-mdpi
res/drawable-hdpi
res/drawable-xhdpi
res/drawable-xxhdpi

というディレクトリを作成して中にそれぞれ同じ名前の画像ファイルをいれておきます。
すると、実行時の端末の密度に合わせて最適な画像が選ばれます。

ディレクトリに入れる画像ファイルの大きさですが、
基準となる mdpi の画像が 100x100px の場合、

ldpi = 75x75px
hdpi = 150x150px
xhdpi = 200x200px
xxhdpi = 300x300px

という大きさの画像をそれぞれ準備しておくと、
画面上に表示された時、物理的に同じ大きさで画像を表示することができます。


レイアウト

インタフェースも画面ごとに変えることができます。
通常は画面の大きさにフィットするように自動で画面が拡大縮小されるので、
必要な場合にのみ設定することになると思います。

デフォルトでは res/layout フォルダしか無いですが、
新しく以下のフォルダを作って xml ファイルを配置することで
専用レイアウトが適用されます。

layout-small/
layout-large/
layout-xlarge/


画面の向き

画面の向き (portrate / landscape) によって読み込むレイアウトを変えることもできます。
デフォルトでは縦向きのデザインですが、
フォルダ名に -land や -port を付けることで縦横専用のレイアウトになります。

layout-port/
layout-land/
layout-large-port/
layout-large-land/

...


詳しい解説はこちらを参照
Providing Resources - Android Developers

0 件のコメント:

コメントを投稿