Android中,有的sp,dp,dpi,px等概念。
dpi,dots per inch,代表屏幕像素密度。是指屏幕上每英寸(1英寸 = 2.54 厘米)距离中有多少个像素点。
dp,device independent pixels(设备独立像素,等同于dip),不依赖于像素。
sp,scale-independent pixels(缩放独立像素,等同于sip),和dp类似,允许由用户自定义文字尺寸大小(如小、正常、大、超大等)
px(pixel):像素,dp和px的关系:px = dp * (dpi / 160)。
HarmonyOS在借鉴Android经验的同时,重新定义了界面换算单位,使用虚拟像素作为一台设备针对应用而言所具有的虚拟尺寸,是定义应用内参数尺寸的度量单位。
虚拟像素也是一种可灵活使用和缩放的单位,它与屏幕像素的关系是 1vp 约等于 160dpi 屏幕密度设备上的 1px。
在不同密度的设备之间,HarmonyOS 会针对性的转换设备间对应的实际像素值。
px:像素的单位,1px代表手机屏幕上的一个像素点。
vp:虚拟像素(virtual pixel)是一台设备针对应用而言所具有的虚拟尺寸(区别于屏幕硬件本身的像素单位)。它提供了一种灵活的方式来适应不同屏幕密度的显示效果。
fp,font-size pixels,字体像素单位,其大小规范默认情况下与vp相同,但如果开发者在设置中修改了字体显示大小,就会在vp的基础上乘以scale系数。
即默认情况下 1 fp = 1vp,如果设置了字体显示大小,则会根据实际情况自动设置 1fp = 1vp * scale。
鸿蒙图片显示的例子: