Android中的常用尺寸单位(dp、sp)快速入门教程-创新互联
常见尺寸单位
Android开发中的常用尺寸单位有如下几种:
- dp (dip)
- px
- pt
- inch
- sp
算不知道确切含义,相信对于以上这几种尺寸单位大家也都比较脸熟,这里先让我们重新认识一下它们:
- dp (dip): 即设备无关像素(device independent pixels),这种尺寸单位在不同设备上的物理大小相同。
- px:即像素(pixel),这个不用多说。
- pt:通常用来作为字体的尺寸单位,1 pt相当于1/72英寸。
- inch:英寸,1 英寸约等于2.54厘米,主要用来描述手机屏幕的大小。
- sp:大部分人只知道它通常用作字体的尺寸单位,实际大小还与具体设备上的用户设定有关。(如果你对"sp"的了解停留于此,那么看完这篇文章后你会更透彻的理解它^ _ ^)
在上面几种常见的尺寸单位,dp和sp可以看做是虚拟尺寸。其中dp是与设备无关的虚拟像素单位,开发者为UI控件指定以dp为单位的大小后,在不同屏幕密度的Android设备上便能够具有相同的物理尺寸。dp的出现让开发者无需关注屏幕密度、物理像素之间的换算关系。sp则与dp相似,但它主要用作字体的尺寸单位,与dp的区别是:Android系统支持用户设定字体大小,因而sp的实际大小还会根据用户设定在原基础上进行缩放。
下面来详细介绍dp与sp这两种尺寸单位。
尺寸单位详解之dp
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。通常屏幕密度越大的手机显示的图像会越细腻。可以通过如下代码获取当前Android设备的屏幕密度:
private void getDpi() { DisplayMetrics dm = getResources().getDisplayMetrics(); Log.i("TAG", "density = " + dm.density); Log.i("TAG", "densityDpi = " + dm.densityDpi); }
网站标题:Android中的常用尺寸单位(dp、sp)快速入门教程-创新互联
路径分享:http://azwzsj.com/article/cejhid.html