Android12App启动图标自适应

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给图,比例还是需要和设计对一下的,毕竟他们的眼睛是尺子.
  • 普通应用手机系统都帮你处理了,一般不会遇到这个问题.

11.源码地址如下:

gitee.com/jackning_ad...

相关推荐
louisgeek33 分钟前
Android Media3 PlayerView 监听 SurfaceTextureListener
android
广煜永不挂科1 小时前
Android Studio关于Connection refused: connect报错
android·ide·android studio
林林要一直努力1 小时前
Android Studio安装,SDK、Gradle、模拟器、AS路径改为非C盘(Windows为例)
android·ide·android studio
编程乐学1 小时前
网络资源模板--基于Android Studio 实现的课程管理App
android·android studio·大作业·移动端开发·安卓移动开发·课程管理
猿小蔡-Cool1 小时前
Android Studio Memory Monitor内存分析核心指标详解
android·java·jvm
编程乐学1 小时前
网络资源模板--基于Android Studio 实现的图书商城App
android·android studio·商城·大作业·移动端开发·购物商城·安卓大作业
小墙程序员1 小时前
一文了解 AGP8 的使用
android·gradle
bytebeats6 小时前
移动开发中特性开关的最佳实践
android·firebase
bytebeats6 小时前
Android 开发者的 Jetpack Compose 学习路线图
android·android jetpack
bytebeats6 小时前
Android 的未来: 为什么 `Navigation 3` 是行业变革者!
android·android jetpack