お使いのブラウザは、バージョンが古すぎます。

このサイトは、Internet Explore8・Internet Explore9には対応しておりません。
恐れ入りますが、お使いのブラウザをバージョンアップしていただきますよう宜しくお願いいたします。

【Android Tips】画面サイズに合わせてレイアウトを変更する

こんにちわ、pencoです。
前回は画面の密度とサイズを求める方法について書きました。
今回は画面サイズに合わせてレイアウトを変更する方法について書いていきたいと思います。
 
 
Androidのレイアウトでよく目にするのが「dpi」です。
dpiは”Dot Per Inch”の略で1インチ辺りのピクセル数を表します。
dpi値が高い ⇒ 画面が鮮明 ということになります。
 
レイアウトでマージンなどを指定する時は、単位をdpにすることで画面密度に関らず、同じ見た目にすることが出来ます。これは同じ(似たような)画面サイズでdpiが違う際に見た目に差が出ないようにするのに有効です。
 
しかし!
スマートフォンとタブレットの様に画面サイズが大きく違うものでも同じ見た目でいいのでしょうか。例えば4.6inchのスマートフォンで最適に表示される様に作ったアプリを、10.1inchのタブレットで開くと、文字が小さかったり、ボタンが小さかったりするのです。
 
画面サイズの小さなスマホでは、この文字サイズで最適かもしれませんが、画面サイズの大きなタブレットでは小さすぎる。スペースが余っているのだから、もっと大きく表示したい…。

代替リソースを利用してレイアウト変更

 
そんなとき有効なのが『修飾子名を設定し代替リソースを提供する』方法です。
resフォルダにある、layoutやdrwableフォルダに修飾子を追加して、dpiだけでなく画面サイズでも別のリソースが使われるようにします。
 
上の例でいくと、
res/layout フォルダにはスマホ用のレイアウトを
(xml内で文字サイズ指定:例18sp)
res/layout-xlarge フォルダにはタブレット用のレイアウトを
(xml内で文字サイズ指定:例24sp)
それぞれ作ります。

これで、スマホとタブレットで表示される文字サイズを変更することができました。
 
 
今回は修飾子一つでしたので、特に問題ありませんが、
複数の修飾子を指定する場合は、その順番にも優先順位があるようなので注意しましょう。
 
↓↓こちらのサイトを参考にさせて頂きました。
ソフトウェア技術ドキュメントを勝手に翻訳
 
 
ではでは。

コメントをどうぞ

メールアドレスは公開されません。* が付いている欄は必須項目です。


お気軽にお問い合わせください。

日本VTR実験室では、お仕事のご依頼、ブログ・コラムのご感想などを受け付けております。
アプリ開発・コンテンツ制作でお困りでしたら、お気軽にご相談ください。
ご連絡お待ちしております。

お問い合わせはこちらから

03-3541-1230

info@nvtrlab.jp

電話受付対応時間:平日AM9:30〜PM6:00