Android

Android中px,dp,sp的区别

2019-04-26  本文已影响23人  12313凯皇

一、px

pixel,即像素,1px代表屏幕上的一个物理的像素点,但px单位不建议被使用,因为同样像素大小的图片在不同手机显示的实际大小可能不同。

二、dp

在讲dp之前,需要先讲一个dpidots per inch),对角线每英寸的像素点的个数,它的计算公式如下:
dpi =\frac{\sqrt{height^{2}+width^{2}}}{size}
其中,heightweight是长款的像素,平方和即为对角线的像素个数,size即我们常说的5寸手机、4寸手机中的54,即对角线的长度。分辨率越高,dpi越高。分辨率相同,屏幕对角线英寸数越小,dpi越高。

dp也叫dip,是device independent pixels。设备不依赖像素的一个单位。在不同的像素密度的设备上会自动适配,比如:
320 * 480分辨率,像素密度为1601dp = 1px
420 * 800分辨率,像素密度为2401dp = 1.5px
计算公式: px=dp \ast (dpi / 160)

三、sp

全称是scaled pisels。这个主要用于项目中的字体大小。使用sp作为单位,当用户通过手机设置修改手机字体的时候,sp为单位的字体也会跟着改变。

总结

一般建议使用dp作为控件大小单位,sp作为字体大小单位。

上一篇下一篇

猜你喜欢

热点阅读