解决安卓8.0+上图标适配以及显示默认图标问题

起源

1、ui图

解决安卓8.0+上图标适配以及显示默认图标问题_第1张图片

1、我们把这套UI放在了mipmap的不同文件夹下。
2、manifest文件的application节点下设置app的icon为该图片

2、运行结果

(1)google的 pixel2 手机模拟器上(android 8.0)
在这里插入图片描述
(2)vivo z1 (android 9.0)
在这里插入图片描述
(3)红米 note6(android 8.0)
解决安卓8.0+上图标适配以及显示默认图标问题_第2张图片

发现问题:
1、google的pixel2 上图标适配有问题
2、安卓9.0上图标显示有问题

解决

1、显示默认安卓图标的解决方案

先看看安卓的mipmap目录:
解决安卓8.0+上图标适配以及显示默认图标问题_第3张图片

其他的目录我们都知道了,但是这个v26 是啥呢?其实Android 8.0或以上系统的手机,都会使用这个目录下的ic_launcher来作为图标。(知道为啥我们9.0手机为啥显示默认图片了吧,即使你指定设置了app的图标)

(1)解决方式1

直接删除v26文件夹(简单粗暴)

(2)解决方式2

适配一套v26的xxx.xml资源(参考下文图标适配方案)

2、图标适配

安卓8.0以后google规定了app图标组成

  • 前景foreground(我们自己提供,下参考图中的白色安卓机器人头像)
  • 背景background(我们自己提供,下参考图中的蓝色网格背景)
  • mask(手机厂商提供,下参考图中的透明覆盖物即为面具,不同厂商面具可能不同,有圆的,方的等等)

图解参考

所以我们只需要提供前景背景即可
(1)开始适配-使用studio的image Assets工具

ctrl shift +a 打开工具(window)

解决安卓8.0+上图标适配以及显示默认图标问题_第4张图片

(2)取来一张图片设置前景

解决安卓8.0+上图标适配以及显示默认图标问题_第5张图片

1,2为文件命名。
3、为我们桌面上的一张图片。

(3)设置背景
解决安卓8.0+上图标适配以及显示默认图标问题_第6张图片

背景我随便设置了白色

(4)点击finish
解决安卓8.0+上图标适配以及显示默认图标问题_第7张图片

(5)生成结果

解决安卓8.0+上图标适配以及显示默认图标问题_第8张图片

这时我们设置为生成的my_icon就行了

结果:
在这里插入图片描述

ps:问题1使用我们的图标适配方案也能解决,因为图标适配在v26中也会生成对应的xml

end

详细适配参考:https://blog.csdn.net/guolin_blog/article/details/79417483#commentsedit
多亏了郭神的分享,我在这里也简单的动手写下 。。。。。。。加深记忆。

你可能感兴趣的:(android)