Android 中的长度单位pxdpsp
Posted MojoJojo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android 中的长度单位pxdpsp相关的知识,希望对你有一定的参考价值。
1.px
这个不用太多解释,就是屏幕上的一个物理像素点。眼神好的小伙伴仔细看下应该能看到屏幕上的小格子,不行就滴一滴水再看。
不建议使用px,同样的图片在不同手机上显示大小可能不同。分辨率高的显示的小,分辨率低的显示的大。
2.dp
这个单位要认真理解,它和像素密度相关。先说像素密度dpi,即单位英寸的像素点数量。假如我的手机屏幕尺寸为1.5英寸x2英寸,分辨率为240x320,那它的像素密度即为160dpi。
android 系统定义了4种分辨率:低(120dpi)、中(160dpi)、高(240dpi)、超高(320dpi),对应的dp到px的转换系数分别是0.75、1、1.5、2,这个系数乘dp长度就是像素数。假如我的手机像素密度是240dpi,现在屏幕上有一个长度为80dp 的图片,那么显示的像素长度为80x1.5=120px。假如我另一个手机像素密度是320dpi,那么实际像素长度为160px。这样,同样的图片在不同的手机上显示的尺寸就几乎没什么区别。
3.dip
Density independent pixels,设备无关像素。
与dp 完全相同,名字不同罢了,不再多做解释。
4.sp
与缩放无关的抽象像素(Scale-independent Pixel)。
和dp 很类似但唯一的区别是,Android 系统允许用户自定义文字尺寸(小、正常、大、超大等),当文字是正常大小时1sp=1dp,其他尺寸比1dp 偏大或偏小。
建议:文字用sp 单位,其他非文字用dp 单位。例如textSize="16sp"、layout_width="60dp";偶尔也需要使用px 单位,如绘制一条分割线。
以上是关于Android 中的长度单位pxdpsp的主要内容,如果未能解决你的问题,请参考以下文章