Android12App启动图标自适应
1.前言:
erlang
最近在定制系统ROM时发现有些App的图标是圆形的,有些是方形,还有6边型等等,但是在第三方自定义的啦uncher上面会出现白边和显示不全的问题,当然在系统rom修改了图标适配,但是发现有些图标还是有异常,于是从App的层面分析找到了解决方法.
2.出现的问题截图:
从下面的图标可以看出,在系统切换到圆形时发现中间的小图标有的是方形,有的是圆形,还有三角形,有的显示被裁剪了,这肯定很影响美观和体验.

3.概念:
官网链接:developer.android.google.cn/develop/ui/...
自适应图标(即 AdaptiveIconDrawable
)会根据各个设备的功能和用户设置的主题显示不同效果,自适应图标主要用于主屏幕上的启动器,但也可以用于快捷方式、"设置"应用、分享对话框和概览屏幕。自适应图标适用于所有 Android 设备类型。
与位图不同,自适应图标可以适应不同的使用情形:
-
不同形状:自适应图标可在不同型号的设备上显示各种形状。例如,在一台原始设备制造商 (OEM) 设备上,自适应启动器图标可显示为圆形,而在其他设备上则可显示为方圆形(介于方形和圆形之间的形状)。每个设备的原始设备制造商 (OEM) 都必须提供一个蒙版,系统使用该蒙版渲染所有具有相同形状的自适应图标。
-
与位图不同,自适应图标可以适应不同的使用情形:
-
不同形状:自适应图标可在不同型号的设备上显示各种形状。例如,在一台原始设备制造商 (OEM) 设备上,自适应启动器图标可显示为圆形,而在其他设备上则可显示为方圆形(介于方形和圆形之间的形状)。每个设备的原始设备制造商 (OEM) 都必须提供一个蒙版,系统使用该蒙版渲染所有具有相同形状的自适应图标。

markdown
**图 1.** 自适应图标支持各种蒙版,这些蒙版因设备而异。
- 视觉效果:自适应图标支持多种富有吸引力的视觉效果,当用户在主屏幕上放置或移动图标时,就会看到这些效果。

图 2. 自适应图标显示的视觉效果示例。
注意: 动画视觉效果由受支持的启动器生成。视觉效果可能因启动器而异。
4.制作自适应图标:
自适应图标是AndroidO提出的新特性,有适配经验的同学应该都会,制作很简单,这里直接上图和操作步骤。
这里我为了演示效果,就找了一个官网的图标作为例子。
4.1 选中要适配的图标
- 选中ic_adaptive
- 选择new
- 选择Image Asset

5.制作图标:
- 制作前景图标
- 制作背景图标
- 图标路径为你项目图标的本地路径


6.生成自适应图标:
选中图标路径后我们看预览效果


7.调整合适的图标比例:
- 调整到你认为合适的比例即可,
- 直接点击下一步
- Android Studio会帮你自动生成图标,需要设计和自己去手动改

8.生成的图标如下:

在运行之前我们为了达到和官网一样的效果,需要删除drawable目录默认生成的ic_launcer_background和ic_launcher_foreground文件
9.运行效果如下:

状态栏通知图标:
如果之前有遇到Google gms推送图标显示白色图标的问题也可以参考这个自适应图标进行修改,

手机上的有通知时效果:

10.总结:
- 今天的内容很简单,就是适合各种Android版本的启动图标自适应.
- 选中图标------新建文件------new矢量图标.
- 调整合适的比例,具体的需要和设计沟通效果,是否满意
- 有人会问必须这么做吗?我的回答是的,在第三方系统Launcher最好这样,要不然就会出现各种问题.
- 有人会说为啥不让ui设计出图,有的人会说为啥我没有遇到这个问题?
- 因为我是自定义的第三方Launcher,做系统定制的才会有这个问题,因为有些设计他们有的也不知道有这个东西,我之前做过就顺手解决了,项目中ui给图,比例还是需要和设计对一下的,毕竟他们的眼睛是尺子.
- 普通应用手机系统都帮你处理了,一般不会遇到这个问题.