作者:safecaps | 来源:互联网 | 2023-01-27 16:16
讲到像素密度,我们先要搞明白什么是像素密度,像素密度的字面上的意思为手机屏幕上一定尺寸区域内像素的个数。在Android开发中,我们一般会使用每英寸像素密度(dpi)这样一个单位来表示手机屏幕的像
讲到像素密度,我们先要搞明白什么是像素密度,像素密度的字面上的意思为手机屏幕上一定尺寸区域内像素的个数。在Android开发中,
我们一般会使用每英寸像素密度(dpi)这样一个单位来表示手机屏幕的像素密度,dpi的换算方法如下:
步骤1:计算得到手机屏幕的斜角像素长度:
![](https://img1.php1.cn/3cd4a/24d65/bdf/9a34af04317639d9.gif)
步骤2:使用屏幕斜角像素长度去除上手机屏幕尺寸得到dpi
![This is the rendered form of the equation. You can not edit this directly. Right click will give you the option to save the image, and in most browsers you can drag the image onto your desktop or another program.](https://img1.php1.cn/3cd4a/24d65/bdf/5ed835ebb3258ddf.jpeg)
所以,通过这样的一个公式我们就能很方便的了解到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作为长度单位。