“px”、“dip”、“dp”和“sp”有什么区别?
技术问答
339 人阅读
|
0 人回复
|
2023-09-11
|
Android 测量单位有什么区别?
5 F1 J3 y, H, Y, ^" `. s3 Z: t8 kpx
5 r5 o5 R8 ?- |; ]& \dip
9 ]7 t0 T; i3 f& L% pdp
6 _4 A, C8 u: ]+ h+ m9 qsp
' a% O9 _1 j( {" S 解决方案:
' C. }5 d$ Z$ C9 A9 C 来自Android 开发者文档:
* M% s3 s4 s1 b3 c0 Q3 a/ P[ol]px5 f' _+ S. A+ h; q+ r. S h
> Pixels - 对应屏幕上的实际像素。in
3 v! d) [5 k5 \0 `> Inches - 基于屏幕的物理尺寸。; s% \! k) j; e4 g9 u
> 1 英寸 = 2.54 厘米mm' v5 w1 h& R U6 Z
>毫米- 基于屏幕的物理尺寸。pt6 B0 d& T8 H! x; i" o& D
> Points - 1/72 英寸,基于屏幕物理尺寸。dp或dip( q4 L+ m, n, I: w1 q1 y
> Density -independent Pixels - 基于屏幕物理密度的抽象单位。与 160 相比,这些单位dpi因此 1 屏幕dp 是 160 dpi 屏幕上的像素。dp-to-pixel比例会随着屏幕密度的变化而变化,但不一定成正比。注:编译器同时接受dip”和“dp”,尽管“dp”与“sp”更一致。sp) z, [& F: a7 w4 Q
> Scaleable Pixels OR scale-independent pixel - 这就像 dp 单位,但它也由用户的字体大小缩放。建议您在指定字体大小时使用该单位,以便根据屏幕密度和用户偏好进行调整。请注意,Android 文档的sp一份文件说与比例无关的像素,另一份文件说可缩放像素。
8 G `5 e; e- D[/ol]Density BucketScreen DensityPhysical SizePixel Sizeldpi120 dpi0.5 x 0.5 in0.5 in * 120 dpi = 60x60 pxmdpi160 dpi0.5 x 0.5 in0.5 in * 160 dpi = 80x80 pxhdpi240 dpi0.5 x 0.5 in0.5 in * 240 dpi = 120x120 pxxhdpi320 dpi0.5 x 0.5 in0.5 in * 320 dpi = 160x160 pxxxhdpi480 dpi0.5 x 0.5 in0.5 in * 480 dpi = 240x240 pxxxxhdpi640 dpi0.5 x 0.5 in0.5 in * 640 dpi = 320x320 pxUnitDescriptionUnits Per Physical InchDensity Independent?Same Physical Size On Every Screen?pxPixelsVariesNoNoinInches1YesYesmmMillimeters25.4YesYesptPoints72YesYesdpDensity Independent Pixels~160YesNospScale Independent Pixels~160YesNo |
|
|
|
|
|