android应用开发之View的大小计量单位(px、dpi、dp、dip、sp)

一、像素(px)与屏幕分辨率

1)px(Pixels ,像素):对应屏幕上的实际像素点。例如,320*480的屏幕在横向有320个象素,在纵向有480个象素。 

2)屏幕分辨率就是在屏幕上显示的物理像素总和,它等于屏幕的宽度上的像素*高度上的像素。在android应用程序的开发上,不会使用屏幕分辨率。

3)屏幕分辨率虽然是宽*高,但是它与屏幕的大小没有关系,它与一个屏幕的像素的数量相关。


二、dpi

1dpi:像素每英寸,是屏幕像素(px)密度的单位。像素密度就是屏幕指定物理宽高范围内能显示的像素的数量。

2)在android中,dpi有如下分类,ldpimdpihdpixhdpixxhdpixxxhdpi

3)在现实中,通常以mdpi为一个基准,它表示160dpi,并将此密度定义为1个密度的单位。160dpi表示在1平方英寸的面积内有160*160个像素点。ldpi则为120dpihdpi则为240dpixhdpi则为320dpixxhdpi则为480dpixxxhdpi则为640dpi,也就是说ldpi的密度为0.75hdpi的密度为为1.5xhdpi则为2xxdpi则为3xxxhdpi则为4

4dpi跟屏幕的大小无关,它只是像素密度的一个量度。


三、dp

独立于物理密度的量度单位,它以160dpi为基准,无论在哪种dpi的屏幕下,1dp表示的物理长度都是一样的。在160dpi的屏幕下,1dp1px,即一个dp需要用一个px来表示,在240dpi的屏幕下,1dp1.5px,表示一个dp需要1.5px来表示。也就是说1dpdpi160px。它的意义在于可以让开发人员开发出无论在哪种dpi的屏蔽下显示大小都相同的UI也就是说在相同尺寸、但不同的分辨率的手机上,用dp标识的东西,显示的大小是一样的。


四、dip

dp相同


五、sp

scaled pixels放大像素的缩写,专门用于处理字体的大小。它不仅与屏幕dpi有关,还与系统的默认字体大小有关。对于同一sp值,屏幕dpi越高,所显示的字体越小;系统字体越大,所显示的字体也越大。这就是我们设置系统字体大小后,所有使用sp为单位的字体都改变了的原因。


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。