众(安卓开发至众)所周知,ADT(Eclipes+SDK)中的图片资源都是放在drawable-aaadp文件夹中,如图:
适配原则是根据手机屏幕尺寸(标准)来选择加载何种dpi文件夹下的图片资源,一般都需要做各种尺寸的切图资源,但是目前市场上的许多手机的分辨率都是非标准的,一次适配总会出现一些细微的误差.而且我们在开发中往往会用到drawable这个用来存放管理图片资源(多为selector)如图:或者自定义的资源(如shape,level-layer等)如图:
,在布局文件Layout中引用这些资源都是统一的@drawable/xxx,以为在R文件中做了drawable统一的映射,如图:
这个使用起来确实很方便,但是在屏幕适配上总是有些差强人意.
Android Studio的图片资源以及资源管理目录结构是这样的,如下图:
,其中,drawable文件夹是自动生成的,而且出现了mipmap文件夹,很是新奇,官方文档是这样给出的,如下图:
。大概意思就是说,drawable文件夹里存放的是常规的图片资源类型,我们常见的png,jpg.gif以及.9图片,还可以存放我们在ADT开发中存放的drawable文件夹里的所有管理类型的xml文件,在layout文件中引用时同样是@drawable/xxx来使用,完全没问题,注意方队文件夹位置。
mipmap文件夹里存放ic_luncher资源,mipmap文件夹里的资源部是完全依赖与屏幕尺寸来判断加载何种文件夹下的图片资源,而是以标准屏幕尺寸为参照,在接近与实际屏幕尺寸分辨率的标准分辨率的基础上选择大于屏幕尺寸的图片进行一定范围内的缩放,到达不留边角空白区域的视觉效果,使用的方法也很简单,来layout文件中使用@mipmap/xx来进行引用。
以上都纯属个人理解,如有错误欢迎指出。