android8、android13自适应图标适配

前言:为了解决应用图标在不同android手机上的外观样式问题,google官方在android8和android13两个版本做了变更(这2个版本都提供了向下兼容),下文介绍适配方法以及注意事项(此处有彩蛋)

一、android8(API27)适配

1、找到资源文件夹:mipmap-anydpi-v26(若旧的as里没有默认生成,可以选择新建该资源文件夹):

 2、鼠标右击该文件夹,选择新建:"Image Asset":

 3、弹出界面(如下图):

注意 i :Name最后将默认的"ic_launcher"修改成别的名称(如加个后缀ic_launcher_liubei),因为若项目中使用了三方aar,同名的ic_launcher文件会有冲突造成没有效果。

注意 ii:Foreground Layer->Path最好选择你的svg图片(矢量图,即不失真图),可以在不同设备上获得高清效果,当然也可以选择普通png图片;

注意 iii:可以调节Rezise,调整内部前景图大小,右边会有及时预览效果;

注意 iv:Background Layer,可以使用颜色作为背景色(如下图的橙色),也可以选择图片

 4、点击Next,下图展示即将在下面的文件夹中新增或复写(后续再走一遍完整流程,会同名覆盖,否则新增)所有图标相关的文件,其中:"mipmap-anydpi-v26"文件夹是android8.0及以上专用,其余文件夹(如mipmap-xxxhdpi)是兼容android8.0以下的机型,确保低版本没问题

                                   (图5,自动生成的ic_launcher_liubei.xml文件)

 5、然后在AndroidManifest.xml文件中声明图标:

注意看下图,第9、10代码行左边出现了预览是“正方形”,其实是ide自己不知道自己即将运行在什么真机上,所以这仅仅是个预览。这样就完成了android8的适配(自动向上和向下兼容):

                                                                (图6)

 6,、下面展示运行在googlePixel6Pro(android12)上的真机效果:

                                        

二、android13(API33)适配[自适应图标和单色应用图标]

1、android13主要是更新了应用图标随着手机系统主题和壁纸动态变化的功能;

2、其实android13适配和android8适配差不多,只需要在android8适配的基础上,手动修改第一章中图5中的两个文件,在2个文件中,手动增加:"monochrome"(单色应用图标)节点,新增VectorDrawable矢量图路径

 3、下面展示运行在googlePixel6Pro(android13)上的真机效果:

三、注意点

  无论是android8还是android13适配,归根到底,解决的仅仅是“手机桌面图标展示”的问题,在其余的地方,还是有一些“出乎意料”的地方,下面说明:

1、比如android8适配后,虽然手机桌面显示确实符合预期,但是在蒲公英提测的图标,与未适配android8的有差异,如(下图的爱奇艺适配后,在蒲公英界面出现了边角):

  又比如,在QQ安装界面,出现了外边框:

出现这两个问题的原因,是因为由于android的版本迭代,三方平台未及时更新策略导致,其实他们直接读取了mipmap-xhdpi文件夹下的png图片(其实也是本次适配默认给我们生成的):

                       

3、又比如,在适配mipmap-anydpi-v26后,荣耀v10的EMUI(android9)上,推送默认小图标是正方形,不是圆角(且国内EMUI版本华为推送无法通过com.huawei.messaging.default_notification_icon修改推送图标,鸿蒙和MagicUi可以修改),原因是应用了第一章中的图6预览图

                            

        (图:适配mipmap-anydpi-v26文件夹的知乎app运行在荣耀v10手机EMUI9.1上)

 4、android13切换图标颜色后,虽然桌面图标颜色改了,但是默认的欢迎页还是未应用此更改的颜色:

以上就是通过mipmap-anydpi-v26适配android8、13,且向上向下兼容的全部内容啦,如有疑问,可以随时沟通。

祝大家生活工作愉快~

  • 28
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值