“px”、“dip”、“dp”和“sp”有什么区别?
技术问答
388 人阅读
|
0 人回复
|
2023-09-11
|
Android 测量单位有什么区别?
$ o/ j; E7 j1 n, ppx, W) Q7 m( i# B" _6 n
dip
, ]( {( e0 w: A c' V$ T+ ]& vdp
) Y8 n( g) Q' {" {# i O6 ]! c- B. msp ( u2 e Q( s, a7 j
解决方案:
) u6 D6 A/ e) ]8 ?/ x9 g( Z. b 来自Android 开发者文档: t, |- c1 X; o: N% n$ ?
[ol]px
i4 B; k; h5 s/ P2 d) X: g> Pixels - 对应屏幕上的实际像素。in
. i; v: ~4 }8 I* Z$ U, h. R M6 f> Inches - 基于屏幕的物理尺寸。
4 K5 i. t$ e) S3 q. |' d8 [> 1 英寸 = 2.54 厘米mm: L; Y( w' t) F" B' O+ k) C! d! \
>毫米- 基于屏幕的物理尺寸。pt
9 ~$ V( A0 @2 V4 m: _ U6 u, A> Points - 1/72 英寸,基于屏幕物理尺寸。dp或dip4 ^% d$ d3 n) S7 ^
> Density -independent Pixels - 基于屏幕物理密度的抽象单位。与 160 相比,这些单位dpi因此 1 屏幕dp 是 160 dpi 屏幕上的像素。dp-to-pixel比例会随着屏幕密度的变化而变化,但不一定成正比。注:编译器同时接受dip”和“dp”,尽管“dp”与“sp”更一致。sp
8 ]' C+ c3 B! j4 S- R0 B( D> Scaleable Pixels OR scale-independent pixel - 这就像 dp 单位,但它也由用户的字体大小缩放。建议您在指定字体大小时使用该单位,以便根据屏幕密度和用户偏好进行调整。请注意,Android 文档的sp一份文件说与比例无关的像素,另一份文件说可缩放像素。& y7 x# b6 [7 I/ @% Z8 M$ T, C
[/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 |
|
|
|
|
|