android中的dp、px、dip、dpi sp相关概念

px :pixel,像素Android原生API,UI设计计量单位,如获取屏幕宽高。
屏幕分辨率:指在纵向和横向方向上的像素点数,单位是px,一般显示方式是纵向像素数量*横向像素数量,如1920*1080。
屏幕尺寸:一般是屏幕对角线长度,单位是英寸,常见尺寸有3.5,4.0,4.3,4.7,5.0,6.0等。

dpi屏幕像素密度:ppi pixel per inch的缩写,意思是每英寸屏幕上的像素数,因为屏幕尺寸是商家生产时就规定好的,屏幕尺寸一样的手机,屏幕宽高却不一定一样,所以通常取屏幕对角线像素数量和屏幕尺寸(屏幕对角线长度)来计算屏幕像素密度,计算公式就是通过勾股定理和分辨率计算得到屏幕对角线像素数量,再除以屏幕尺寸。手机参数上也会有这个数值。
屏幕密度计算 以6.0英寸 1920*1080分辨率为例
1920和1080的平方和开根号=对角线像素(勾股定理
√(1920^2+1080^2)=2202.9071
屏幕密度= 对角线像素/对角线长度
367.1511=2202.9071/6

dp /dip :一个基于屏幕密度的抽象单位,如果一个160dpi的屏幕,1dp=1px

sp :同dp相似,但还会根据用户的字体大小偏好来缩放(建议使用sp作为文本的单位,其它用dip)

drawable-mdpi: 屏幕密度为160的手机设备( Android规定此为baseline,其他均以此为基准,在此设备上,1dp = 1px)

drawable-hdpi: 屏幕密度为240的手机设备 1dp=1.5px

drawable-xhdpi: 屏幕密度为320的手机设备 1dp=2px

drawable-xxhdpi:屏幕密度为480的手机设备 1dp=3px

drawable-xxxhdpi:屏幕密度为640的手机设备 1dp=4px

px转dp

猜你喜欢

转载自blog.csdn.net/csdn1125550225/article/details/80368127