dp, dip, dpi, sp, pt, px
px
pixel, 代表的是屏幕上确切可数的像素点。
如果分辨率是480x800, 那么宽是480 px,高是800 px。
pt
源自印刷,72pt等于一英寸。
dpi
dots per inch
, 每一英寸内有多少像素,值越大屏幕看起来越精细,是一种密度单位。
dp
density-indenpendent pixels
, 密度独立像素,是一种抽象单位,官方推荐使用dp。
如果屏幕密度(dpi)是160,此时1dp代表1px;
如果屏幕密度(dpi)是320,那么1dp代表2px;
所以有
px = dp * dpi /160
dip
同 dp
sp
scale-independent pixels
, 和dp一样是抽象单位,官方推荐在字体上使用;
如果屏幕密度是160dpi, 那么此时1sp代表1pt;
如果屏幕密度是320dpi,那么1sp代表0.5pt;
APK中的资源使用
- 当屏幕density=120时,使用ldpi标签的资源
- 当屏幕density=160时,使用mdpi标签的资源
- 当屏幕density=240时,使用hdpi 标签的资源
- 当屏幕density=320时,使用xhdpi标签的资源
- 当屏幕density=480时,使用xxhdpi标签的资源
- 不加标签是各种分辨率共用的
网友评论