Android厂商众多,各种尺寸的手机、平板层出不穷。为了解决分辨率过多的问题,在开发文档中定义了px,dp,dip,sp,方便开发者适配不同分辨率的设备。
1.基础概念介绍
in:inches,英寸,长度单位,屏幕物理尺寸大小的基本单位
pt:points,标准单位,大小为一英寸的1/72
dpi:dots per inch,像素密度,即每英寸的像素点
screenInch:屏幕尺寸,手机的实际物理尺寸,如iPhone4s的尺寸为3.5英寸,指的是屏幕对角线的的长度。
2.屏幕分辨率
Resolution(分辨率)指的是设备屏幕横向和纵向的像素点的个数。常见的手机手机分辨率有QVGA(240x360像素)、HVGA(480x320像素)、WVGA(800x480像素)、720P(1280x720像素)、1080P(1920x1080像素)、2K(2560x1440像素)
3.px,dp,dip,sp区别与联系
px:即像素,1px代表屏幕上一个物理的像素点。px一般不建议使用,它会在不同屏幕分辨率的设备上显示的实际大小不同。使用像素的情况是画1像素的表格线或阴影线,如果用其他单位画会模糊。
dp(dip):device independent px.与像素密度密切相关,Android系统定义了四种像素密度,低(120pdi)、中(160dpi)、高(240dpi)、超高(320dpi),他们对应的dp到px的系数分别为0.75,1,1.5,2,这个系数乘以dp就是像素。例如一个长度为80dp的图片,在 240dpi的手机上的像素为80x1.5=120px,在320dpi的手机上像素为80x2=160px,但如果把这俩部手机拿过来相比,物理尺寸差不多,这就是dp单位的效果。
sp:scale independent px,与缩放无关的抽象像素。Android系统允许用户自定义自提大小(小,正常,大,超大)当尺寸为正常时,1sp=1dp=0.00625英寸,,而当大小为大,超大时,则1sp>1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变
网友评论