Androidはスクリーンサイズ、解像度が異なる様々なデバイス上で稼働する様にデザインされています。
Androidのプラットフォームは、アプリケーションの為に、全てのデバイスに渡って行っての環境を提供し、スクリーンにアプリケーションのUIを適用させる為の多くの困難を解消します。
同時に、Androidのプラットフォームは、特定のスクリーンサイズ、解像度で表示された場合の、アプリケーションUIを正確に制御できるAPIを提供します。
このドキュメントはAndroidプラットフォームによって提供される、スクリーンサポートの内容の説明、およびその使い方を解説します。
下記の記述に従えば、全てのサポートされる端末に適切に表示されるアプリケーションを一つの.apkとして簡単に作る事が出来ます。
もし、あなたが既にAndroid1.5以前向けのアプリケーションを公開しているなら、このドキュメントを呼んで、Android1.6以降の、様々なスクリーンで稼働しているデバイスにあなたのアプリケーションをどの様に適合されるか検討するべきです。
多くの場合、下位互換のみが必要とされますが、全てのサポートされたスクリーンであなたのアプリケーションをテストするべきです。
特に、QVGAの様な小さいスクリーンで動かしたいアプリケーションがあるなら、レガシーアプリケーションの為の戦略を参考にして下さい。
スクリーンサポートの概要
このセクションでは、androidプラットフォームのマルチスクリーンサポートの概要、このドキュメントとAPIで使われるテーマとコンセプトの解説、プラットフォームがサポートする、スクリーン設定のサマリー、とAPIとスクリーン互換性についての基礎を解説します。
テーマとコンセプト
- Screen size(スクリーンサイズ)
スクリーン対角線の物理的なサイズ。単純化の為、Androidは実際のサイズを3つの一般的なサイズ(large、normal、small)に縮小します。アプリケーションはこれらの3つのサイズに対して、カスタマイズしたレイアウトを提供出来ます。プラットフォームは裏で、実際のサイズでの描画を行います。 - Aspect ratio(縦横比)
スクリーンの物理的横幅の立て幅に対する比率。アプリケーションはlongとnotlongのリソース識別子で特定のaspect ratioを提供出来ます。 - Resolution(解像度)
スクリーン上の物理的な画素数合計。解像度は良くwidth×heightであらわされるが、解像度は特定のaspect ratioを意味しないこに注意して下さい。androidではアプリケーションは解像度を直接扱う事はありません。 - Density(密度?)
スクリーン解像度に基づく、スクリーンの横幅、縦幅に対するピクセルの幅。低密度のスクリーンではスクリーン横幅、縦幅に対してピクセルが少ないが、高密度のスクリーンでは同じエリアに展開するピクセルが多い(場合によってはすごく多い)。スクリーンの密度は重要です。何故なら、スクリーンピクセル数によって縦幅、横幅が決められている、ボタン等のUIエレメントは、低密度スクリーンでは大きくなり、高密度スクリーンでは小さくなると言った事になるからです。
単純化の為、androidは実際のスクリーン密度を3つの一般的な密度(high、medium、low)に縮小します。アプリケーションはこれらの3つの密度それぞれにカスタマイズされたリソースを提供する事が出来ます。プラットフォームが、リソースを拡大、もしくは縮小して、実際のスクリーン密度に適合させます。
- Density-independent pixel(dip)
アプリケーションがUIを定義する際に使用できる擬似的なピクセル単位で、密度非依存にレイアウトの位置やサイズを表現できます。dipはAndroidにて基準密度とみなされる、解像度160dpiの1物理ピクセルサイズとイコールです。実行時に、プラットフォームはdip単位が実際のスクリーン密度に基づき必要とするスケーリングを裏で行います。dip単位のスクリーンピクセルへの変換はシンプルです。(スクリーンピクセル数 = dip * (密度 / 160))。例えば、240dpiのスクリーンにおいて、1dipは1.5物理pixelとなります。異なるスクリーンにおいて適切に表示させる方法として、dip単位を使う事を強く推奨します。
androidドキュメント和約「様々なスクリーンのサポートについて」その1
androidドキュメント和約「様々なスクリーンのサポートについて」その2
androidドキュメント和約「様々なスクリーンのサポートについて」その3
androidドキュメント和約「様々なスクリーンのサポートについて」その4
androidドキュメント和約「様々なスクリーンのサポートについて」その5
androidドキュメント和約「様々なスクリーンのサポートについて」その6
androidドキュメント和約「様々なスクリーンのサポートについて」その7
androidドキュメント和約「様々なスクリーンのサポートについて」その8

[...] Cliph.net ? Blog Archive ? androidドキュメント和約「様々な … スクリーンサポートの概要このセクションでは、androidプラットフォームのマルチスクリーンサポートの概要、このドキュメン [...]
[...] androidドキュメント和約「様々なスクリーンのサポートについて」その1 [...]
[...] androidドキュメント和約「様々なスクリーンのサポートについて」その1 [...]
[...] androidドキュメント和約「様々なスクリーンのサポートについて」その1 [...]