这些Android度量单位有什么区别?

  • Px
  • DP
  • sp

答案

来自Android开发人员文档

  1. px
    Pixels - 对应于屏幕上的实际像素。

  2. in
    Inches - 基于屏幕的物理大小。
    1英寸或2.54厘米

  3. mm
    >Millimeters - 基于屏幕的物理大小。

  4. pt
    >Points - 基于屏幕的物理大小为1/72英寸。

  5. dp 或者dip
    >Density - 独立像素 - 基于屏幕物理密度的抽象单元。这些单元相对于160 DPI屏幕,因此一个DP是160 DPI屏幕上的一个像素。DP与像素的比率会随屏幕密度而变化,但不一定是直接比例的。注意:编译器同时接受" DIP"和" DP",但是" DP"与" SP"更一致。

  6. sp
    >可缩放像素 OR 独立于比例的像素 - 这就像DP单元,但也根据用户的字体大小偏好来缩放。建议您在指定字体大小时使用此单元,因此将对屏幕密度和用户的喜好进行调整。请注意,Android文档对什么不一致sp实际上是代表的,一个Doc说"与比例无关的像素",其他说"可缩放像素"。

了解Android中的密度独立性

密度桶屏幕密度物理大小像素大小
LDPI120 dpi0.5 x 0.5英寸0.5 in * 120 dpi = 60x60 px
平均密度指数160 dpi0.5 x 0.5英寸0.5 in * 160 dpi = 80x80 px
高清晰度240 dpi0.5 x 0.5英寸0.5 in * 240 dpi = 120x120 px
高清像素320 dpi0.5 x 0.5英寸0.5 in * 320 dpi = 160x160 px
xxhdpi480 dpi0.5 x 0.5英寸0.5 in * 480 dpi = 240x240 px
xxxhdpi640 dpi0.5 x 0.5英寸0.5 in * 640 dpi = 320x320 px
单元描述每英寸单位密度独立?每个屏幕上的物理尺寸相同?
Px像素各种
英寸1是的是的
毫米毫米25.4是的是的
72是的是的
DP密度独立像素〜160是的
sp比例独立像素〜160是的

更多信息也可以在Google设计文档

来自: stackoverflow.com