回答

收藏

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

技术问答 技术问答 262 人阅读 | 0 人回复 | 2023-09-11

Android 测量单位有什么区别?
" ]( j# N  P& c! `/ r7 V: Z* dpx  |" H: M. _5 W) g0 d9 x
dip
# G! }  ?% c' B  ]' [7 |2 l) ddp. L' w/ }8 c2 F
sp
                                                                0 A: G9 V1 A. ?
    解决方案:                                                                3 V8 S, f7 y. S/ n; Q# o: V4 B
                                                                来自Android 开发者文档:8 s' X8 X$ c, N4 L4 K# r1 T
[ol]px
. E, `# K  r* ]> Pixels    - 对应屏幕上的实际像素。in
1 ^; U( m3 Z; j> Inches    - 基于屏幕的物理尺寸。
. ?' ^% s2 [! u7 @> 1 英寸 = 2.54 厘米mm# c% r. W, a; ^+ @/ J! q% l
>毫米- 基于屏幕的物理尺寸。pt
+ x5 p; ]( y+ Q# ]3 j, w7 G> Points    - 1/72 英寸,基于屏幕物理尺寸。dpdip7 L, ?# s, e9 d4 }! v
> Density    -independent Pixels - 基于屏幕物理密度的抽象单位。与 160 相比,这些单位dpi因此 1 屏幕dp 是 160 dpi 屏幕上的像素。dp-to-pixel比例会随着屏幕密度的变化而变化,但不一定成正比。注:编译器同时接受dip”和“dp”,尽管“dp”与“sp”更一致。sp& S9 q0 c" ]/ n- P
> Scaleable Pixels OR    scale-independent pixel - 这就像 dp 单位,但它也由用户的字体大小缩放。建议您在指定字体大小时使用该单位,以便根据屏幕密度和用户偏好进行调整。请注意,Android 文档的sp一份文件说与比例无关的像素,另一份文件说可缩放像素。
" a3 b& ]# n+ `- n, G. u* O) u[/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
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则