ppi = pixels per inch,每英吋上的畫素數,即 "畫素密度"
drawable-ldpi、drawable-mdpi、drawable-hdpi 精度分別為低、中(android預設)、高。
對應的大小為:36x36、48x48、72x72。
xxhdpi: 144*144
xhdpi:96*96
hdpi:72*72
mdpi:48*48
ldpi:36*36
dp是虛擬畫素,在不同的畫素密度的裝置上會自動適配,比如:
在320x480解析度,畫素密度為160,1dp=1px
在480x800解析度,畫素密度為240,1dp=1.5px
計算公式:1dp*畫素密度/160 = 實際畫素數
drawable- hdpi、drawable- mdpi、drawable-ldpi的區別:
(1)drawable-hdpi裡面存放高解析度的,如wvga (480x800),fwvga (480x854)
(2)drawable-mdpi裡面存放中等解析度的,如hvga (320x480)
(3)drawable-ldpi裡面存放低解析度的,如qvga (240x320)
系統會根據機器的解析度來分別到這幾個資料夾裡面去找對應的。
ppi的運算方式是:
ppi = √(長度畫素數² + 寬度畫素數²) / 螢幕對角線英吋數
dp:density-independent pixels,以160ppi螢幕為標準,則1dp=1px,
dp和px的換算公式 :
dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。
sp:scale-independent pixels,它是安卓的字型單位,以160ppi螢幕為標準,當字型大小為 100%時, 1sp=1px。
sp 與 px 的換算公式:sp*ppi/160 = px
總結得出:
px = dp*ppi/160
dp= px / (ppi / 160)
px = sp*ppi/160
sp= px / (ppi / 160)
dp = sp?
參考:[無線手冊-4] dp、sp、px傻傻分不清楚[完整]
supporting different screens | android developers
iconography | android developers
devices and displays | android developers
px 與 dp, sp換算公式?
px 與 dp,sp換算公式?ppi pixels per inch,每英吋上的畫素數,即 畫素密度 drawable ldpi drawable mdpi drawable hdpi 精度分別為低 中 android預設 高。對應的大小為 36x36 48x48 72x72。xxhdpi 144 ...
px 與 dp, sp換算公式?
隨筆 449 文章 3 ppi pixels per inch,每英吋上的畫素數,即 畫素密度 drawable ldpi drawable mdpi drawable hdpi 精度分別為低 中 android預設 高。對應的大小為 36x36 48x48 72x72。xxhdpi 144 144...
px 與 dp, sp換算公式
ppi pixels per inch,每英吋上的畫素數,即 畫素密度 drawable ldpi drawable mdpi drawable hdpi 精度分別為低 中 android預設 高。對應的大小為 36x36 48x48 72x72。xxhdpi 144 144 xhdpi 96 96...