手机长度px值_安卓尺寸单位dp.px的区别

,这些单位有

什么区别?

相信每个

Android

新手都会遇到这个问题,希望这篇帖子能让你不再纠结。

px

即像素,

1px

代表屏幕上一个物理的像素点;

px

单位不被建议使用,因为同样

100px

的图片,在不同手机上显示的实际大小可能不同,

如下图所示(图片来自

android

developer

guide

,下同)。

偶尔用到

px

的情况,是需要画

1

像素表格线或阴影线的时候,用其他单位如

dp

会显得模

糊。

dp

这个是最常用但也最难理解的尺寸单位。

它与

像素密度

密切相关,

所以首先我们解释一下

什么是像素密度。假设有一部手机,屏幕的物理尺寸为

1.5

英寸

x2

英寸,屏幕分辨率为

24

0x320

,则我们可以计算出在这部手机的屏幕上,每英寸包含的像素点的数量为

240/1.5=1

60dpi

(横向)或

320/2=160dpi

(纵向),

160dpi

就是这部手机的像素密度,像素密度的

单位

dpi

Dots

Per

Inch

的缩写,即每英寸像素数量。横向和纵向的这个值都是相同的,

原因是大部分手机屏幕使用正方形的像素点。

不同的手机

/

平板可能具有不同的像素密度,例如同为

4

寸手机,有

480x320

分辨率的也有

800x480

分辨率的,前者的像素密度就比较低。

Android

系统定义了四种像素密度:低(

12

0dpi

)、中(

160dpi

)、高(

240dpi

)和超高(

320dpi

),它们对应的

dp

px

的系数分别

0.75

1

1.5

2

,这个系数乘以

dp

长度就是像素数。例如界面上有一个长度为

“80dp”

的图片,那么它在

240dpi

的手机上实际显示为

80x1.5=120px

,在

320dpi

的手机上实际显

示为

80x2=160px

。如果你拿这两部手机放在一起对比,会发现这个图片的物理尺寸

差不

,这就是使用

dp

作为单位的效果,见下图。


版权声明:本文为weixin_39850167原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。