当前位置:  开发笔记 > 编程语言 > 正文

使用自适应图标时不显示旧版图标

如何解决《使用自适应图标时不显示旧版图标》经验,为你挑选了2个好方法。

我刚刚使用Image Asset Studioandroid工作室将我的应用程序图标转换为与android o的自适应图标兼容

当我在运行API 25的设备上运行我的项目时,我得到默认的绿色android图标而不是我的图标.

这是我的表现


这些是图像资产工作室创建的文件

在此输入图像描述

这只是一个Android Studio错误还是我错过了什么?



1> String..:

我遇到了同样的麻烦,并通过重命名我的mipmap-anydpi目录来解决它mipmap-anydpi-v26.

显然这个ic_launcher.xml文件会混淆旧的Android版本,除了O之外,它隐藏了它.无论如何,我的图标现在适用于所有版本(至少到SDK 11).


我有v26目录,但仍然在旧版APIS上获得默认的绿色android。

2> Aniket Thaku..:

解决方案是使mipmap-anydpi-v26/ic_launcher.xml适用于API级别26及更高级别的自适应图标以及ic_launcher.png所有mimpap文件夹中的其他API级别(注意:不是ic_launcher.xml).


说明:

这是基本问题mipmap-anydpi优先于所有其他问题mipmap-*.因此,如果找到资源mipmap-anydpi,它将始终优先考虑.现在mipmap-anydpi-v26是一个上面的过滤器,它表示只有在API级别为26或更高(Oreo)时mipmap-anydpi-v26才会选择资源,而不管设备密度如何.

现在你表现出来了 android:icon="@mipmap/ic_launcher"

如果你的设备的API等级为26或以上,android会选择使用mipmap-anydpi-v26/ic_launcher.xml,一切正常.

当API级别小于26时,会出现问题.Android统计信息查找名为的资源ic_launcher.mipmap-anydpi-v26由于API级别约束,它永远不会去搜索.接下来,它将查找资源mipmap-anydpi,如果不存在,则查找实际密度资源Eg.mipmap-mdpi.

接下来,你不能给ic_launcher.xmlAndroid设备少于sdk 26因为它不知道什么是自适应图标.

因此,解决方案是在mipmap-anydpi-v26/ic_launcher.xml适用于API级别26及更高级别的自适应图标以及ic_launcher.png所有mimpap文件夹中放置的其他API级别(注意:不是ic_launcher.xml).

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有