dp是虚拟像素,在不同的像素密度的设备上会自动适配,比如:
像素密度为160,1dp=1px
像素密度为240,1dp=1.5px
px(像素):屏幕上的点。
dp和px的换算公式 :
dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px;
sp 与 px 的换算公式:sp*ppi/160 = px
sp:Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时, 1sp=1px;
以160ppi为基准:
160ppi对应的density是1.0,
240ppi对应的density是1.5,
320ppi对应的density是2.0…
PPI = Pixels per inch,每英寸上的像素数,即 "像素密度"
- xhdpi: 2.0
- hdpi: 1.5
- mdpi: 1.0 (baseline)
- ldpi: 0.75