同じサイズの画像を異なる解像度のデバイスで表示すると大きさが異なって表示されるため
変換を行って同じ大きさで表示させる。
Android端末の解像度
ldpi : 120 dpi
mdpi : 160 dpi
hdpi : 240 dpi
xhdpi : 320 dpi
xxhdpi : 480 dpi
txdpi : 213 dpi (Nexus 7)
mdpi (160 dpi) を基準とし、mdpi のとき 1dp = 1pxとなる。
dp→px変換
1 2 3 |
// density (比率)を取得する float density = getResources().getDisplayMetrics().density;// 50 px を dp に変換する ( pixel ÷ density + 0.5f(四捨五入) ) int dp = (int) (50f / density + 0.5f); |
※dip = dp