最近开始啃安卓开发,项目刚启动,就遇到多分辨率图片资源管理的问题。开始很迷惑,尝试了几次后,算是整明白了一些。
开发环境是:Android Studio 2.3.3
图片素材究竟放在哪个目录?
先看图片要存放的目录,网上有说要放在 res/drawable,有说要放在 res/mipmap。几番查验,确定是res/drawable,而res/mipmap 通常是用来放置图标。
如何放置多分辨率资源?
在drawable上点右键,弹出的菜单是看不到导入图片资源的。我们可以通过菜单上的 show in Explorer 直接访问资源管理器所在的目录
AS弹出了资源管理器,并展开到res的目录。我在res目录下手动建立了2个目录:res/drawable-ldpi, res/drawable-xxhdpi (代表2套不同的分辨率资源,读者自己的项目,可以根据自己的适配要求建立多个目录,类似mipmap那一串一样)。
然后分别复制了2套不同分辨率的图片资源到2个目录,2套资源的文件名要完全一致!
再回到Android Studio,展开res/drawable 目录,发现图片资源已经出现了:
和想象中不同的是,这里的目录是按图片资源列出,每个png展开后,可以看到2个同名的文件,后面注明了资源的分辨率。
当然,如果有些素材你觉得一套通吃够用,就直接放在 res/drawable 目录下,我在资源管理器里,向这个目录下复制了一些图片后,再回到AS里;
可以看到无多版本的图片素材为红色显示,后面没有数字,也不能展开。
如何使用图片资源?
资源导入后,就可以在AS里使用了,也非常的方便。安卓会根据界面分辨率,自动选择调用哪个分辨率的图片。
代码控,可以在需要填写图片文件的双引号内,直接选择和预览图片。
设计控,可以在设计模式下,拖拽资源到界面后,会自动弹出资源窗口,刚刚导入的图片都在里面了。