サイト移転のお知らせ:http://techbooster.org/に移転しました

デバイスのディスプレイサイズごとにレイアウトファイルを分ける

8月 22, 2011   //   by kei_i_t   //   Android, リソース  //  No Comments

Android3.2から、レイアウトファイルを格納するディレクトリをデバイスのディスプレイサイズごとに分けることができるようになりました。

詳細は以下から。

Android3.1以前のバージョンでは、画像リソースなどを格納する”/res/drawable”についてはデバイスの解像度別にフォルダを分けれる仕組みが存在しましたが、レイアウトファイルを格納するためのディレクトリである
“res/layout”に関してはディスプレイのサイズや解像度ごとにフォルダを分ける仕組みが存在しませんでした。

そのため、開発者はデバイスの解像度が異なってもレイアウトが崩れないようにするために非常に苦労させられていました。

しかし、Android3.2からはディスプレイのサイズごとにレイアウトファイルを格納するディレクトリを分割できる仕組みが搭載されました。

追加されたディレクトリと各ディレクトリの分割単位を以下の表に記述します。

res/layout-sw600dp/ 7インチディスプレイを搭載しているタブレットに適用されます
res/layout-sw720dp/ 10インチディスプレイを搭載しているタブレットに適用されます
res/layout-w600dp/ developerサイトには十分な領域があった場合にマルチペイン用として
適用される記述がありますが詳細不明です
res/layout-sw600dp-w720dp/ 7インチ以上のディスプレイに対して適用されます。



また、上記表での7インチとはwidth解像度が480dp以上600dp未満、10インチとはwidth解像度が600以上720dp未満
と定義されています。

さらに、この新しいディレクトリは下記画像のように、Android3.1以前のAPIでビルドする場合もきちんとビルドが通るようになっています。

※あくまでもビルドが通るだけであり、Android3.2以上のデバイス上で動作させない限りはディレクトリの
分割は有効になりません。

関連する記事:

Sponsored Link

Comments are closed.

技術書新刊 発売中

アンドロイドアカデミアには、CIやテスト、互換検証など実務に生きるノウハウをあつめています

技術書新刊 発売中

Android Next!はAndroid 7.0に対応したはじめての技術書です!


The Web Explorer 2はCSSの中央寄せやWebAudioなど未来を読み解く一冊です


Revised TypeScript in DefinitelylandはTypeScript 2.0(β)に対応した解説書です。インストールから型定義まで幅広くサポートしています


技術書をかこう!はエンジニアらしい執筆環境を構築、HowTo本です