文章目录

  • 一、如何更换
  • 1.icon原理
  • 2.图标指向的文件
  • 3.ImageAsset工具
  • 二、icon不变的问题



一、如何更换

1.icon原理

Android StatusBar 图标 android图标怎么更换_ico


背景和前景,然后用mask裁剪出了一张圆形的应用图标。

2.图标指向的文件

Android StatusBar 图标 android图标怎么更换_缓存_02


在Manifest文件下可以看到这两个属性:

  • android:icon
    这个属性将应用的图标指定为了mipmap目录下的ic_launcher文件。
  • android:roundIcon
    圆角矩形图标,这是一个只适用在Android 7.1系统上的过渡版本,很快就被8.0系统的应用图标适配所替代了。

3.ImageAsset工具

我们不需要手动编辑里面的xml文件,也不需要手动替换,使用Image Asset工具就能自动生成。

按下Windows:Ctrl+Shift+A / Mac:command+shft+A 快捷键,并输入Image Asset

Android StatusBar 图标 android图标怎么更换_应用图标_03

编辑

Android StatusBar 图标 android图标怎么更换_应用图标_04

  • Icon Type:
    保持默认就可以了,表示同时创建兼容8.0系统以及老版本系统的应用图标。

  • Name:
    用于指定应用图标的名称,这里也保持默认即可。

  • Foreground Layer用于编辑前景层,Background Layer用于编辑背景层,Legacy用于编辑老版本系统的图标。

  • 预览区域
    在预览区域中给出了可能生成的图标形状,包括圆形、圆角矩形、方形等等。注意每个预览图标中都有一个圆圈,这个圆圈叫作安全区域,必须要保证图标的前景层完全处于安全区域当中才行,否则可能会出现图标被mask裁剪掉的情况。

Android StatusBar 图标 android图标怎么更换_缓存_05

图标内容既可以使用图片,也可以使用文字、颜色的方式。

二、icon不变的问题

失败原因:手机因为主题图标缓存的机制,所以不变。

尝试方法:

  • 重启手机
    只对于部分重启手机能刷新图标缓存的手机

  • 清除app缓存
    和重启一个道理,莫得刷新机制就继续缓存气你

  • 卸载再装
    同上

  • 更换手机主题。
    这个主题必须对于该应用是还未使用的新主题,因为没有缓存才会生效。
    但如果所有的主题都被该应用使用过,那么就都有缓存,那就icon还不会变成新的。

  • 修改Manifest的Activity来放icon
    无效

  • 上线新APP
    为什么应用商店的app就没这个问题,因为手机上的app会自动和应用商店同步。所以上线app会莫得问题,但单机测试就肯定不会自动更新。

总结

  • 普通方法:
    要是手机能刷新缓存,就重启。
    不行就一遍遍地换新主题。(穷人流泪)

  • 烧钱方法:
    要么换部缓存机制不这么垃圾的手机,要么上线新APP。


参考:

Android应用图标微技巧,8.0系统中应用图标的适配