欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

安卓SDK 26的ICON适配指南:升级技巧解读

最编程 2024-08-11 13:53:51
...

1,桌面ICON适配

从Android 8.0系统开始,应用程序的图标被分为了两层:前景层和背景层。也就是说,我们在设计应用图标的时候,需要将前景和背景部分分离,前景用来展示应用图标的Logo,背景用来衬托应用图标的Logo。需要注意的是,背景层在设计的时候只允许定义颜色和纹理,但是不能定义形状。

那么应用图标的形状由谁来定义呢?Google将这个权利就交给手机厂商了。不是有些手机厂商喜欢学习苹果的圆角图标吗?没问题,由于应用图标的设计分为了两层,手机厂商只需要在这两层之上再盖上一层mask,这个mask可以是圆角矩形、圆形或者是方形等等,视具体手机厂商而定,就可以瞬间让手机上的所有应用图标都变成相同的规范。原理示意图如下:


因为华为渠道强制要求,2019年5月1号之后必须适配到Android 版本26之后,才能上架,因此游戏需要适配ICON,下图为适配前后在Android 8.0,8.1,9.0机型上的icon对比:

在Android 8.0系统以上 ,如果未适配icon,显示效果如图一,会自动填充白色底板。

Android studio中适配ICON Windows:Ctrl+Shift+A / Mac:command+shft+A 快捷键,并输入Image Asset,如下所示:

制作成功后会自动生成如下图文件:

AndroidManifest.xml 需要关注的点是android:icon这个属性,通过这个属性,我们将应用的图标指定为了mipmap目录下的icon文件。另外大家可能注意到还有一个android:roundIcon属性,这是一个只适用在Android 7.1系统上的过渡版本,很快就被8.0系统的应用图标适配所替代了,我们不用去管它。

res 需要留意的就是mipmap-anydpi-v26这个目录,这个目录表示什么意思呢?就是Android 8.0或以上系统的手机,都会使用这个目录下的ic_launcher来作为图标。这是一个8.0系统应用图标适配的标准写法,在<adaptive-icon>标签中定义一个<background>标签用于指定图标的背景层,定义一个<foreground>标签用于指定图标的前景层。

因此游戏母包中需要有mipmap-anydpi-v26 目录和对应的icon以及AndroidManifest.xml 中的icon配置。具体可参考最新版本Demo。

res下文件解释:

①:mipmap-anydpi-v26

<background>标签用于指定图标的背景层。

<foreground>标签用于指定图标的前景层。

②:mipmap-xxxhdpi

icon.png 其他版本显示icon样式图片。

icon_foreground 前景层png图片。

icon_round.png 只适用在Android 7.1系统上的过渡 的icon 图片。

③:icon_background.xml

背景层颜色配置。