px 像素,屏幕上显示数据的最基本的点。
dp (dip): 即设备无关像素(device independent pixels),这种尺寸单位在不同设备上的物理大小相同。也就是说是几厘米就是几厘米。
pt:通常用来作为字体的尺寸单位,1 pt相当于1/72英寸。看来也是像素无关。
inch:英寸,1 英寸约等于2.54厘米,主要用来描述手机屏幕的大小。这个不必多说。
sp是字体无关像素单位。
dp的出现让开发者无需关注屏幕密度、物理像素之间的换算关系。sp则与dp相似,但它主要用作字体的尺寸单位,与dp的区别是:Android系统支持用户设定字体大小,因而sp的实际大小还会根据用户设定在原基础上进行缩放。下面来详细介绍dp与sp这两种尺寸单位。
dp的全称是device independent pixels,在具有不同屏幕密度的设备上,1 dp的物理大小是相同的。
手机的屏幕密度通常指的是手机屏幕的dpi(dots per inch),也就是每英寸的像素数。对于Android手机来说,常见的dpi有如下几种:
- ldpi:对应的dpi范围为0 ~ 120,也就是说每英寸有0到120个像素点的屏幕的屏幕密度都属于ldpi
- mdpi:dpi范围为120 ~ 160
- hdpi:dpi范围为160 ~ 240
- xhdpi:dpi范围为240~320
- xxhdpi:dpi范围为320~480
在实际开发中,通常以dpi值120、160、240、320、480分别指代ldpi、mdpi、hdpi、xhdpi、xxhdpi。通常屏幕密度越大的手机显示的图像会越细腻。在dpi为160的Android设备上,1 dp = 1px。