1. 程式人生 > >Android中dp、dpi與px的關系

Android中dp、dpi與px的關系

聯系 vga 公式 矩形 鏈接 相同 針對 來源 商業

轉自知乎用戶的回答:

1. dpi是dot per inch,每英寸多少點,ppi是 Pixel per inch,每英寸像素數,針對顯示器的設計時,dpi=ppi。
ppi計算方法是長寬各自平方之和開方,除以對角線長度(單位英寸)。原理可以自己畫個矩形勾股定理算一算。
2. ppi表示顯示設備的點密度,dpi表示印刷品點密度。
3. dip或dp,是安卓開發用的單位,1dp表示在屏幕點密度為160ppi時1px長度。
因為安卓設備屏幕眾多不可能為每個屏幕單獨開發,所以用公式 px=dp*(ppi/160)計算在不同屏幕上的像素數。
舉例:HVGA屏320*480,一般是3.5寸,計算點密度為√ (320^2 + 480^2) / 3.5 = 164,約等於160,1pd=1px
WVGA屏480*800,按3.8寸屏算,點密度 √ (480^2 + 800^2) / 3.8 = 245,約等於240,1dp=1.5px。
還有更高分辨率的屏幕就不一一列舉了,總之dp是為了方便適配不同屏幕的單位,在不同屏幕密度下,1dp的物理長度也相同。

作者:知乎用戶
鏈接:https://www.zhihu.com/question/21220154/answer/18584739
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

Android中dp、dpi與px的關系