这里给出官方对于Android O 新特性之自适应图标的直通车
https://developer.android.com/preview/features/adaptive-icons.html
这里只是记录我对该自适应图标的理解,如果要看详细的就去戳上面的网址。
自适应图标是什么?
我们知道,Android的手机类型很多,有些手机的桌面图标是圆形的,有些的是方圆形的,有些是正方形的。通过自适应图标,能在不同的设备型号上显示自定义的不同的图标形状,而且系统还自动会提供一些动态效果哦!(这些动态效果上面网址有,这里就不贴出来了)
自适应图标的原理
通过定义两张图层(前景图与背景图),和提供没有形状、阴影的 PNG 格式图象(icon)相结合。前景图和背景图的大小都必须为 108 x 108 dp,图层中心 72 x 72 dp 范围为可视范围,系统会保留四周外的 36dp 范围用于生成有趣的视觉效果。
创建自适应图标
步骤1:
在AndroidManifest.xml 中为 android:icon 属性指定一个 mipmap 资源。(你还可以为 android:roundIcon 属性指定一个图标,但只有你需要给应用设置一个特别的圆形图标时才要用到这个属性)。
示例:
<application
…
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
…
>
</application>```
######步骤2:
创建 res/mipmap-anydpi/ic_launcher.xml
使用 <maskable-icon> 元素为你的图标定义前景和背景图层。<background> 和 <foreground> 元素都支持 android:drawable 属性。
示例:
<maskable-icon>
<background android:drawable=”@color/ic_background”/>
<foreground android:drawable=”@mipmap/ic_foreground”/>
</maskable-icon>
###tips:
顺便说下,我们知道,mipmap是放应用icon图标的,因为官方文档在 <foreground android:drawable="@mipmap/ic_foreground"/>这句我们可以看出自适应图标的前景图和背景图也应该是放在mipmap中。