前言:为了解决应用图标在不同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,且向上向下兼容的全部内容啦,如有疑问,可以随时沟通。文章来源:https://www.toymoban.com/news/detail-485894.html
祝大家生活工作愉快~文章来源地址https://www.toymoban.com/news/detail-485894.html
到了这里,关于android8、android13自适应图标适配的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!