讲到像素密度,我们先要搞明白什么是像素密度,像素密度的字面上的意思为手机屏幕上一定尺寸区域内像素的个数。在Android开发中,
我们一般会使用每英寸像素密度(dpi)这样一个单位来表示手机屏幕的像素密度,dpi的换算方法如下:
步骤1:计算得到手机屏幕的斜角像素长度:
步骤2:使用屏幕斜角像素长度去除上手机屏幕尺寸得到dpi
所以,通过这样的一个公式我们就能很方便的了解到dpi,其实就是斜角像素长度与手机屏幕尺寸的一个比值,而我们目前每个Android手机
都是通过这样一个dpi值来区分手机屏幕的像素密度的。
在Android当中一般讲手机屏幕按每英寸像素密度的值分为:0~120dpi~160dpi~240dpi~320dpi~480dpi~640dpi等几个区间,分别以ldpi、mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi这样几个文字来标示,这些文字相信同学在drawable资源中都有见到过,通过将对应dpi的drawable资源放入对应的drawable目录就可以实现在不同的像素密度屏幕上显示不同像素密度的drawable资源。
而另一方面,在layout布局资源中,dp单位会根据当前的屏幕像素密度为哪个而自动转换成对应的px值,所以,我们一般要求大家在layout中一定要使用dp作为长度单位。