首页 > 代码库 > Android屏幕适配

Android屏幕适配

一、度量单位(dp,sp,px)

  • px

是Pixels的缩写,是常用的像素单位,对应的是屏幕上的点。

在不同分辨率的屏幕上,使用px作为单位的组件尺寸会不一致。相同px的组件,分辨率越大,实际显示尺寸越小

  • dip/dp

dp(density-independent pixel)是与密度无关的像素单位,也就是dip。它是基于设备屏幕物理密度的抽象单位。1dp 表示屏幕DPI1601px的长度。DPI(dots per inch | pixels per inch) 越高的屏幕,屏幕绘制1dp 需要越多的像素,反之亦然。

在不同分辨率的屏幕上,使用dp做为单位的组件,尺寸是一致的。

  • sp

sp(scale-independent pixel)是与缩放无关的像素单位。跟dp类似,唯一的不同是,该单位会受系统字体设置的影响,通常用在字体上。

Android在设计规范中规定了字体的常用大小:

micro 12sp,  small 14sp,  medium 18sp,  large 22sp

  • 屏幕大小

屏幕大小。屏幕大小是手机对角线的物理尺寸,以英寸(inch)为单位。1寸=2.54厘米,所以5寸手机的对角线长5*2.54=12.7厘米

  • 分辨率

720*1280即表示屏幕在宽度方向有720个像素,在高度方向有1280个像素

  • 密度(dpi,dots per inch 或者ppi, pixels per inch)

每英寸的像素点数,数值越高显示越细腻。以5寸手机,1080*1920分辨率来算:由上面分辨率知识点可知,对角线像素个数由勾股定理算出,大约2203,2203再除以5寸即是屏幕密度,结果是440dpi

  • 公式换算
在MDPI的屏幕(即160DPI),1dp和1sp基本等于1px
dp 和 px的换算公式:px = dp*(DPI/160)sp 和 px的换算公式:px = sp*(DPI/160)

 

二、Android的屏幕适配

 

Android屏幕适配