dpiとdip

Android端末の様々な大きさの画面に対応する為に、アプリの設定ではpxではなくdipという単位を使います。

dip。
Density Independent Pixel。
この値を使うと、端末のdpiによってサイズが切り替わります。
dpiによってサイズが変わることで、ボタンやテキストなどの画面上でのサイズを統一することができます。
(pxで直接指定してしまうと、dpiの低い端末では大きく、高い端末では小さくなってしまいます。)

端末のdpiの分類
・xhdpi(320dpi) ※2.3から
・hdpi(240dpi)
・mdpi(160dpi)
・ldpi(120dpi)

mdpi(160dpi)の時、1dip = 1pxとなります。

画像を扱う場合は、drawableフォルダに各dpiに合わせた画像を置いておけば、dpiによって読み込む画像が変わります。
(drawable-mdpiフォルダにいれておけば、mdpiの端末で読み込まれる)

dpiごとに画像を用意しなかった場合は、他dpiに用意した画像を拡大・縮小して表示する形になります。
(drawable-mdpiフォルダに画像を置いた状態で、hdpi端末から動かすと画像が拡大されて表示される)

dpiごとの倍率
・xhdpi:2 ※2.3から
・hdpi:1.5
・mdpi:1
・ldpi:0.75

拡大・縮小で画像が汚くなってしまうのを防ぐ場合には、dpiごとの倍率をかけたサイズの画像を用意しましょう。

以上。

Leave a Reply