Tech Racho エンジニアの「?」を「!」に。
  • 開発

Androidで色々な画面サイズに対応する

Androidは画面サイズ、解像度、縦横比がばらばらでめんどくさいですね。

めんどくさいですよね

画面サイズ、解像度に関する情報はAndroid Developers Supporting Multiple Screensにまとまっていますが、大事なのは実際の端末でずれないことです。

Screen Sizes and Densitiesに、どんな解像度の端末が普及しているか書いてありますね。

6月1日の解像度データ

そしてこれを、日本で発売、または輸入品が転がっている端末に当てはめてみると・・・

ldpi mdpi hdpi xhdpi
small
normal 320x480
HT-03A, Optimus Chat
480x800
Nexus One, Nexus S, Desire, Desire HD, Evo 4G, Galaxy S, Galaxy S2, Optimus Bright, F-12C, SH-03C, 003Z, 003SH, 005SH, IS05, IS06, IS11CA
480*854
Xperia, Xperia arc, Xperia acro, IS11T, T-01C, IS04, P-07C, MEDIAS, MEDIAS WP
540*960
SH-12C, SH-13C, 006SH, 007SH, IS12H, Evo 3D, INFOBAR A01, IS11SH
480*960
IS01(アプリからは480*854)
640*960
IS03
large 480*800
DELL Streak
600*1024
Galaxy Tab 7
xlarge 1280x768
Optimus Pad
1280*800
XOOM

こんな感じです。
そして主に日本では、480x854がやたらと幅をきかせていて、540x960も無視できなくなってきました。

縦横比が違う上に、横をdensityで割っても320にならない(qHD)ので、十分注意してください。

これを見て、検証に必要な端末がリストアップできますね。
さらにAndroidのバージョンと入っているフォントでも崩れるので、結局全部確かめないといけないんですけどね。

そんなわけで、崩れないようにするには、

  • px指定しない
  • 割合で広がるもの(50%など)はpxやdpiではなくlayout_weightで比率指定する
  • たくさんの端末で確かめる

といった努力が必要です。

つまり、どんどん端末を買いましょう


CONTACT

TechRachoでは、パートナーシップをご検討いただける方からの
ご連絡をお待ちしております。ぜひお気軽にご意見・ご相談ください。