常见的手机分辨率
- QVGA(240×320像素)
- HVGA(480×320像素)
- WVGA(800×480像素)
- 720P(1280x720像素)
- 1080P(1920x1080像素)
- 2K(2560x1440像素)
px
即像素,1px代表屏幕上一个物理的像素点。
dpi
Dots Per Inch的缩写,即每英寸像素数量。
假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算出在这部手机的屏幕上,每英寸包含的像素点的数量为240/1.5=160dpi(横向)或320/2=160dpi(纵向),160dpi就是这部手机的像素密度。与dp完全相同,只是名字不同而已。
在早期的Android版本里多使用dip,后来为了与sp统一就建议使用dp这个名字了。
dp
Android系统定义了四种像素密度:低(120dpi)、中(160dpi)、高(240dpi)和超高(320dpi),它们对应的dp到px的系数分别为0.75、1、1.5和2,这个系数乘以dp长度就是像素数。
如果一个160dpi的屏幕,1dp=1px。
sp
Scale-independent Pixel,即与缩放无关的抽象像素。sp和dp很类似但唯一的区别是,Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时,1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变。