drawable 和 mipmap 不得不说的故事

2017-08-15  本文已影响0人  珞神

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

  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 目录了

上一篇 下一篇

猜你喜欢

热点阅读