“px”、“dip”、“dp”和“sp”有什么区别?

发布于 2022-02-17 09:48:23

Android 度量单位之间有什么区别?

  • px
  • dip
  • dp
  • sp
关注者
0
被浏览
206
1 个回答
  • 面试哥
    面试哥 2022-02-17
    为面试而生,有面试问题,就找面试哥。

    来自Android 开发者文档

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

    2. in
      > Inches - 基于屏幕的物理尺寸。
      > 1 英寸 = 2.54 厘米

    3. mm
      >毫米- 基于屏幕的物理尺寸。

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

    5. dpdip
      > Density -independent Pixels - 基于屏幕物理密度的抽象单位。这些单位相对于 160 dpi 屏幕,因此 1 dp 是 160 dpi 屏幕上的一个像素。dp-to-pixel的比例会随着屏幕密度的变化而变化,但不一定成正比。注意:编译器同时接受“dip”和“dp”,尽管“dp”与“sp”更一致。

    6. sp
      > Scaleable Pixels OR scale-independent pixel - 这就像 dp 单位,但它也由用户的字体大小首选项缩放。建议您在指定字体大小时使用此单位,这样它们将根据屏幕密度和用户的喜好进行调整。请注意,Android 文档的sp实际含义不一致,一个文档说“与比例无关的像素”,另一个说“可缩放像素”。

    Density Bucket Screen Density Physical Size Pixel Size
    ldpi 120 dpi 0.5 x 0.5 in 0.5 in * 120 dpi = 60x60 px
    mdpi 160 dpi 0.5 x 0.5 in 0.5 in * 160 dpi = 80x80 px
    hdpi 240 dpi 0.5 x 0.5 in 0.5 in * 240 dpi = 120x120 px
    xhdpi 320 dpi 0.5 x 0.5 in 0.5 in * 320 dpi = 160x160 px
    xxhdpi 480 dpi 0.5 x 0.5 in 0.5 in * 480 dpi = 240x240 px
    xxxhdpi 640 dpi 0.5 x 0.5 in 0.5 in * 640 dpi = 320x320 px
    Unit Description Units Per Physical Inch Density Independent? Same Physical Size On Every Screen?
    px Pixels Varies No No
    in Inches 1 Yes Yes
    mm Millimeters 25.4 Yes Yes
    pt Points 72 Yes Yes
    dp Density Independent Pixels ~160 Yes No
    sp Scale Independent Pixels ~160 Yes No


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看