“px”、“dip”、“dp”和“sp”有什么区别?
技术问答
340 人阅读
|
0 人回复
|
2023-09-11
|
Android 测量单位有什么区别?
# i4 D6 {6 |! N/ `/ t8 apx
# X- s9 I+ C. Zdip
9 L4 s4 h4 D3 ?" w& u' j' t1 Sdp
% f* a0 z0 Z9 r2 d2 A, R9 G+ Xsp
: w1 v+ A. a5 `6 \+ e5 j/ t# k4 V 解决方案:
% G3 s( E5 m: z- x$ O$ b 来自Android 开发者文档:
2 Q5 U! }) I* \: [- w[ol]px
$ B" J# T' x/ S& b> Pixels - 对应屏幕上的实际像素。in
8 D3 j9 |9 s q) Q> Inches - 基于屏幕的物理尺寸。
, n% x8 ]1 P8 y6 S> 1 英寸 = 2.54 厘米mm- g: o' e7 r6 v; v# k" \% g2 I! J
>毫米- 基于屏幕的物理尺寸。pt7 [/ n P8 i0 `4 j+ X# R4 D
> Points - 1/72 英寸,基于屏幕物理尺寸。dp或dip2 c* C% K9 Y2 n& D+ H9 e$ _
> Density -independent Pixels - 基于屏幕物理密度的抽象单位。与 160 相比,这些单位dpi因此 1 屏幕dp 是 160 dpi 屏幕上的像素。dp-to-pixel比例会随着屏幕密度的变化而变化,但不一定成正比。注:编译器同时接受dip”和“dp”,尽管“dp”与“sp”更一致。sp
' P: A' k8 @+ h( s% C5 C+ x2 J5 e> Scaleable Pixels OR scale-independent pixel - 这就像 dp 单位,但它也由用户的字体大小缩放。建议您在指定字体大小时使用该单位,以便根据屏幕密度和用户偏好进行调整。请注意,Android 文档的sp一份文件说与比例无关的像素,另一份文件说可缩放像素。
# q& F* a; P/ f" c, {# W3 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 |
|
|
|
|
|