墨刀中的设备无关像素宽高指的是dip或dp这个单位,而设计师给出的设计稿单位一般为px也就是像素。大家可能会问像素(px)和设备独立像素(dp)有什么区别呢?看一下下面的解释你就懂了~
px (pixels):像素,就是屏幕上实际的像素点单位。
dip/dp (device independent pixels):设备独立像素,是一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。
为了兼容各种各样分辨率的设备,让显示效果更完美,Android从1.6开始,加入了设备独立像素dip/dp。
px和dp是有换算公式的,在标准屏幕480*320上,px与dp是1:1。分辨率高的,比如800*480,就要按比例兑换成480*320。
px = dip * (dpi / 160)
这个公式就很好的解释了上面两个例子:当屏幕密度(dpi)为160时,px = dip。
分辨率为320 x480时,屏幕密度默认值为160,由公式得出px=dp;当分辨率为480 x800时,屏幕密度默认值为240,由公式得出px=1.5dp。
开发者在开发的时候,使用换算后的dp,系统会自动按比例计算为px,从而适配视图。
墨刀正是为了兼容不同屏幕密度显示器的显示情况,才选择了dip/dp这一单位。大家可以将原型制作过程中用到的各种字号尺寸数据记录下来,让开发人员免去换算步骤,工作效率更高。