android drawable-hdpi xhdpi xxhdpi xxxhdpi 的理解

Android中提供了多个存放图片的文件夹,分别为mdpi,hdpi ,xhdpi xxhdpi, xxxhdpi。google文档上说,Andriod系统会根据手机屏幕的大小及屏幕密度去选择不同文件夹下的图片资源,以此来实现在不同大小不同屏幕分辨率下适配的问题。

比如在一个低分辨率的手机上,Android就会选择mdpi文件夹下的图片,但是如果没有在mdpi的文件夹下找见相关的资源文件,Android系统会首先从xxxhdpi 文件夹中选择文件,然后对图片资源进行缩放处理,显示在屏幕上;如果xxxhdpi 文件夹下也没有的话,依次类推,若都没找到话,会在默认的drawable文件夹中寻找。

又例如:
在一个1080×1920分辨率的手机上,Android就会选择xxhdpi 文件夹下的图片,但是如果没有在xxhdpi 的文件夹下找见相关的资源文件,Android系统会首先从xxxhdpi 文件夹中选择文件,然后对图片资源进行缩放处理,显示在屏幕上;如果xxxhdpi 文件夹下也没有的话,一次类推,若都没找到话,会在默认的drawable文件夹中寻找。

说白了的话,就是在对应的文件夹没找到,就从高分辨率的文件夹依次向低分辨率的文件夹寻找。

ps:同一张图片,低分辨率的文件夹在手机上展示会被扩大,高分辨率的文件夹在手机上会被缩小,具体原因很简单,我这里就不阐述了。其实,我们在xml中,完全可以通过dp适配。

下面在附图一张,很好的诠释了他们的关系:

android drawable-hdpi xhdpi xxhdpi xxxhdpi 的理解_第1张图片

你可能感兴趣的:(Android)