重拾Android之路之Android 图片存放位置详解


引言

上一节中提到了一个问题,图片通常应该存放的位置在哪里,是放在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文件添加
<mkdir at="${escapeXmlAttribute(resOut)}/drawable-hdpi" /> 
<mkdir at="${escapeXmlAttribute(resOut)}/drawable-xhdpi" /> 
<mkdir at="${escapeXmlAttribute(resOut)}/drawable-xxhdpi" />
image.png
  • 再次创建工程时drawable文件夹下就会有不同分辨率的文件夹了
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容