小编典典

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

android

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

  • px
  • dip
  • dp
  • sp

阅读 267

收藏
2022-01-04

共1个答案

小编典典

来自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
2022-01-04