drawable 和 mipmap 不得不说的故事

一、图片到底存到哪个目录下

  1. Google 官方推荐,mipmap 文件夹下仅仅存放应用启动图标

  2. 其他的 png 图片和 .9.png 等图片还是存放在相应的 drawable 目录

二、如何自动创建响应的 drawable 目录

AndroidStudio 项目默认只有一个 drawable 目录,而没有对应的 -hdpi 等目录,解决方式如下:

需要修改 androidStudio 的默认配置文件

  1. 定位到 androidStudio 的安装目录:C:\Program Files\Android\Android Studio\plugins\android\lib\templates\gradle-projects\NewAndroidModule

  2. 修改该文件夹下的 recipe.xml.ftl 文件

大概在 28 行的原文件一部分为:

<#if !(isInstantApp!false) || (isBaseAtom!false)>
    <mkdir at="${escapeXmlAttribute(resOut)}/drawable" />
    <#if copyIcons && !isLibraryProject>
        <#if buildApi gte 25 && targetApi gte 25>
            <copy from="root/res/mipmap-hdpi/"
                    to="${escapeXmlAttribute(resOut)}/mipmap-hdpi/" />
            <copy from="root/res/mipmap-mdpi"
                    to="${escapeXmlAttribute(resOut)}/mipmap-mdpi/" />
            <copy from="root/res/mipmap-xhdpi"
                    to="${escapeXmlAttribute(resOut)}/mipmap-xhdpi/" />
            <copy from="root/res/mipmap-xxhdpi"
                    to="${escapeXmlAttribute(resOut)}/mipmap-xxhdpi/" />
            <copy from="root/res/mipmap-xxxhdpi"
                    to="${escapeXmlAttribute(resOut)}/mipmap-xxxhdpi/" />
        <#else>

在 <mkdir 这一行之后添加如下代码:

<mkdir at="${escapeXmlAttribute(resOut)}/drawable-hdpi" />
<mkdir at="${escapeXmlAttribute(resOut)}/drawable-mdpi" />
<mkdir at="${escapeXmlAttribute(resOut)}/drawable-xhdpi" />
<mkdir at="${escapeXmlAttribute(resOut)}/drawable-xxhdpi" />

重启 androidStudio ,然后新建项目,就会发现已经有对应的 drawable 目录了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容