在Android中常見的換算涉及的單位有:dp、px、dip、
一、各個量的概念
1.像素:px
1.分辨率:
手機屏幕橫縱方向上的像素點
比如:480X800,320X480。
2.屏幕尺寸:
屏幕對角線的長度,單位為:寸。
3.dpi--像素密度:每英寸像素數(shù)
計算方法:(4寸 480X800)
dpi=(480平方+800平方)根方/4
4. dp(每英寸像素數(shù))
dp 就是 dip
5. density (屏幕密度)
計算方法:density=dpi/(160dpi/英寸)。

圖片來自網(wǎng)絡
ldpi : mdpi : hdpi : xhdpi : xxhdpi = 0.75 : 1 : 1.5 : 2 : 3
二、單位之間的換算
1.dp與px
dp=(dpi/160像素/英寸)px=density*px
三、解疑
為什么我們在布局文件中最好使用dip/dp,而不要使用px?
原因:由于手機的屏幕尺寸和分辨率不同,導致手機的屏幕密度dip(dp)不同,所以如果我們使用px作為布局文件中的單位時,根據(jù)px與dp之間的換算關系:
dp=(dpi/160)*px
- 在屏幕密度為
160dpi(320*480)的設備上表現(xiàn)為:2px=2dp/(dpi/160)=2dp/(160/160)=2dp
即:為2px的尺寸在160dpi的設備上顯示的為2dp, - 在
320dpi(720*1080)的設備上的表現(xiàn)為:
2px=2dp/(dpi/160)=2dp/(320/160)=1dp
即:為2px的尺寸在320dpi的設備上顯示的為1dp。
由于1px為在每個設備上的寬度相等(單位尺寸上的像素數(shù)),所以2px在320dp設備上的大小為160dp設備上大小的1/2。而使用dp則不會發(fā)生這樣的情況,只是像素點數(shù)不同,但表現(xiàn)在設備上的大小相同。
具體表現(xiàn)為
以一個長度為