“px”、“dip”、“dp”和“sp”有什么区别?
Android 度量单位之间有什么区别?
- px
- dip
- dp
- sp
-
-
px
> Pixels - 对应于屏幕上的实际像素。 -
in
> Inches - 基于屏幕的物理尺寸。
> 1 英寸 = 2.54 厘米 -
mm
>毫米- 基于屏幕的物理尺寸。 -
pt
> Points - 基于屏幕物理尺寸的 1/72 英寸。 -
dp或dip
> Density -independent Pixels - 基于屏幕物理密度的抽象单位。这些单位相对于 160 dpi 屏幕,因此 1 dp 是 160 dpi 屏幕上的一个像素。dp-to-pixel的比例会随着屏幕密度的变化而变化,但不一定成正比。注意:编译器同时接受“dip”和“dp”,尽管“dp”与“sp”更一致。 -
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 -