Andriod UI设计之度量单位说明(DIP,DP,PX,SP)

  (一)概念

  dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。

  px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。

  pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;

  sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。

  (二)换算(以 sp 和 pt 为例)  通过查看TextView 等类的源码

case COMPLEX_UNIT_PX:
return
value;
case
COMPLEX_UNIT_SP:
return value * metrics.scaledDensity;
case
COMPLEX_UNIT_PT:
return
value * metrics.xdpi * (1.0f/72);
--------------------------
scaledDensity
= DENSITY_DEVICE / (float) DENSITY_DEFAULT;
xdpi
= DENSITY_DEVICE;
--------------------------
DENSITY_DEFAULT
= DENSITY_MEDIUM = 160;

it知识库Andriod UI设计之度量单位说明(DIP,DP,PX,SP),转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。