Androidでサイズ指定する際に混同するのが、SPとDP。
これらにはどんな違いがあるのか、XMLやデザインをする上でのテクニックを紹介します。
px
Pixelsの略です。実際の画面上のPixelがそのままの単位になります。
たとえば、480px X 800pxの画面であれば、
1pxは画面の1/480という事になります。
dp(dip)
Density-independent Pixels(密度に非依存のピクセル)の略です。dp=dipですので、書く文字の少ないdpを私は使います。
ディスプレイ解像度の物理的な密度に応じた抽象単位になります。
160dpi(dots per inch)を基準にした単位で、1dpは160dpiの画面で1pixelになります。
dpとpixelの比率は画面密度(dpi)によって変化しますが、必ずしも正比例ではありません。
sp
Scale-independent Pixels(スケールに非依存のピクセル)の略です。dpの単位と似ていますが、画面上のサイズはユーザのフォントサイズ設定に準じます。
pt
Pointsの略で、よく文字サイズに使われます。Wordだと11.5とか12ptが主流ですかね。
1インチの1/72を基準とした画面の物理サイズです。
結局は…
実際にコーディングする時は画面サイズを480px X 800pxでだいたい考えて、XMLやプログラミングのコーディングが終わったら、720px X 1200pxの実機でも検証します。
幅、高さ、マージン、パディングはdpで指定し、
文字サイズに関してだけspで指定します。
文字サイズはだいたい15sp前後を利用しますが、
大きめの文字でも20spぐらいまでで、小さくても12spぐらいで
それ以上小さくも大きくもしないようにしています。
Android Developersのデザインパターンも参考にすると良いのですが、
Android4.0以降のデザインパターンとして
高さ48dp、マージン4dpのデザインを推奨しています。
詳しくはこちら:Android Developers | Metrics and Grids
デザインの参考になればと思います。
後日補足
ちなみに、pixelとdpの変換コードの記事書きました。【Android】dp↔px変換コード
0 件のコメント:
コメントを投稿