Android 中的單位換算

在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)為
以一個長度為

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容