px,dp,sp

1、px

像素,1px代表屏幕上一个物理的像素点,px单位不被建议使用

 

2、ppi 

Pixels Per Inch所表示的是每英寸所拥有的像素(Pixel)数目

在320x480分辨率,像素密度为160,1dp=1px
在480x800分辨率,像素密度为240,1dp=1.5px

 

 ppi的运算方式是:

PPI = √(长度像素数² + 宽度像素数²) / 屏幕对角线英寸数

 

2、dp

dp是虚拟像素,Density-independent pixels,在不同的像素密度的设备上会自动适配

以160PPI屏幕为标准,则1dp=1px,

 

dp和px的换算公式 :
dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。

 

3、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? 

你可能感兴趣的:(dp)