引言
上一节中提到了一个问题,图片通常应该存放的位置在哪里,是放在mipmap下还是drawable下。
其实当时我已经接受了官方的建议,但是用AndroidStudio创建一个新项目时,首先是drawable文件夹下面没有分类成各种分辨率的文件夹,其次新建drawable-hdpi等文件夹时,并在android视图下的项目结构中,并没有看到生成的文件夹,但是show in Explorer时,又能看到新建的文件夹。因此,我将各种分辨率的PNG资源图片都存放在了mipmap文件夹下了。但是在使用TextView中的drawableTop等方式时,xml中引用没问题,代码中更改图片资源时出现了问题,猜测是因为,textview更换资源图片的方法都是setDrawable方法,传入参数应该也是drawable,而我传入的参数值为getResources().getDrawable(R.mipmap.xx),所以带着这样的疑问,我来写写关于标准化、流程化的drawable文件存放方式。
正文
官方文档中有介绍:
显然mipmap是用来存放应用图标的 ,drawable才是放图片资源的
官方文档地址
在我们创建工程时,Androidstudio会自动帮我们创建drawable文件夹,但是并没有创建不同分辨率的,只能自己动手了 !
在project视图下找到res文件夹右键–New–Android resource directory
Resource type 选择drawable
分别创建不同的分辨率
在AndroidStudio安装目录\plugins\android\lib\templates\gradle-projects\NewAndroidModule下 打开recipe.xml.ftl文件添加
image.png
再次创建工程时drawable文件夹下就会有不同分辨率的文件夹了