Android O自适应启动图标
2018-01-16 17:28
155 查看
Android 8.0(API级别26)引入了自适应启动器图标,可以在不同的设备模型中显示各种形状。例如,自适应启动器图标可以在一个OEM设备上显示圆形形状,并在另一个设备上显示一个圆形。每个设备OEM都提供一个遮罩,系统随后使用该遮罩来渲染具有相同形状的所有自适应图标。自适应启动器图标也用于快捷方式,设置应用程序,共享对话框和总览屏幕。
图1.自适应图标支持各种设备的不同掩码。
你可以通过定义2层来控制自适应启动器图标的外观,包括背景和前景。您必须提供图标图层作为可绘图,而无需在图标轮廓周围使用蒙版或背景阴影。
图2.自适应图标是使用2个图层和一个蒙版来定义的(包括背景图层和前景图层,这两个可以找设计师要)。
在Android 7.1(API级别25)及更早版本中,启动器图标大小为48 x 48 dp。您现在必须使用以下准则来调整图标图层的大小:
两层的尺寸必须为108 x 108 dp(背景图层和前景图层尺寸都是108*108dp)。
图标的内部72 x 72 dp出现在遮罩的视口内(前景图层中间的72*72图层就是在手机界面上展示的应用图标范围,一般应用图标内容尺寸会比72*72dp尺寸小,因为边缘留空白会比较美观,如下面白色小动物离边缘都留有距离)。
系统在四面各留出18dp,以产生有趣的视觉效果,如视差或脉冲。
注意:动画视觉效果由受支持的启动器生成。视觉效果可能因发射器而异。
注意:设备OEM可以指定一个掩模,该掩模可以包含沿形状的某些点短至33 dp的半径。
图3.自适应图标支持各种视觉效果。
警告:如果您没有使用必要的图层更新启动器图标,则图标与系统UI显示的其他图标看起来不一致,并且不支持视觉效果。
要了解如何使用Android Studio创建自适应图标,请参阅 使用Image Asset Studio创建应用程序图标。
需要定义xml,除此之外还需要放一个与xml同名字的应用图标名让8.0以下系统应用)。您还可以使用该
接下来,您必须在您的应用程序中使用Android 8.0(API级别26)创建替代的可绘制资源
android studio3.0以下的编译器无法找到adaptive-icon标签,但是不影响编译和运行,android studio3.0可顺利编译不报错)。
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_background"/>
<foreground android:drawable="@drawable/ic_foreground"/>
</adaptive-icon>
您还可以通过在封闭它们定义背景和前景可绘制作为元素
如果要将常规自适应启动器图标应用于快捷方式的相同蒙版和视觉效果,请使用以下技巧之一:
对于静态快捷方式,请使用该
对于动态快捷方式,请在
有关快捷键的更多信息,请参阅 应用程序快捷键。
图1.自适应图标支持各种设备的不同掩码。
你可以通过定义2层来控制自适应启动器图标的外观,包括背景和前景。您必须提供图标图层作为可绘图,而无需在图标轮廓周围使用蒙版或背景阴影。
图2.自适应图标是使用2个图层和一个蒙版来定义的(包括背景图层和前景图层,这两个可以找设计师要)。
在Android 7.1(API级别25)及更早版本中,启动器图标大小为48 x 48 dp。您现在必须使用以下准则来调整图标图层的大小:
两层的尺寸必须为108 x 108 dp(背景图层和前景图层尺寸都是108*108dp)。
图标的内部72 x 72 dp出现在遮罩的视口内(前景图层中间的72*72图层就是在手机界面上展示的应用图标范围,一般应用图标内容尺寸会比72*72dp尺寸小,因为边缘留空白会比较美观,如下面白色小动物离边缘都留有距离)。
系统在四面各留出18dp,以产生有趣的视觉效果,如视差或脉冲。
注意:动画视觉效果由受支持的启动器生成。视觉效果可能因发射器而异。
注意:设备OEM可以指定一个掩模,该掩模可以包含沿形状的某些点短至33 dp的半径。
图3.自适应图标支持各种视觉效果。
警告:如果您没有使用必要的图层更新启动器图标,则图标与系统UI显示的其他图标看起来不一致,并且不支持视觉效果。
要了解如何使用Android Studio创建自适应图标,请参阅 使用Image Asset Studio创建应用程序图标。
在XML中创建自适应图标
要使用XML将自适应图标添加到应用程序,请首先更新android:icon应用程序清单中的 属性以指定可绘制资源(如下定义了名为ic_launcher的资源,名字可以自定义,注意文件目录,如下引用的是mipmap文件下的资源,适配8.0
需要定义xml,除此之外还需要放一个与xml同名字的应用图标名让8.0以下系统应用)。您还可以使用该
android:roundIcon属性定义图标可绘制资源。
android:roundIcon如果您需要圆形遮罩的不同图标资源,则只能使用该属性,例如,徽标的品牌依赖于圆形形状。以下代码片段说明了这两个属性:
<application … android:icon="@mipmap/ic_launcher" android:roundIcon="@mipmap/ic_launcher_round" …> </application>
接下来,您必须在您的应用程序中使用Android 8.0(API级别26)创建替代的可绘制资源
res/mipmap-anydpi/ic_launcher.xml。然后,您可以使用该
<adaptive-icon>元素为图标定义前景层和背景层的绘图。的
<foreground>和
<background>内部元件都支持
android:drawable属性(注意:
android studio3.0以下的编译器无法找到adaptive-icon标签,但是不影响编译和运行,android studio3.0可顺利编译不报错)。
<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_background"/>
<foreground android:drawable="@drawable/ic_foreground"/>
</adaptive-icon>
您还可以通过在封闭它们定义背景和前景可绘制作为元素
<foreground>和
<background>元素。
如果要将常规自适应启动器图标应用于快捷方式的相同蒙版和视觉效果,请使用以下技巧之一:
对于静态快捷方式,请使用该
<adaptive-icon>元素。
对于动态快捷方式,请在
createWithAdaptiveBitmap()创建方法时调用该 方法。
有关快捷键的更多信息,请参阅 应用程序快捷键。
相关文章推荐
- Android 快捷启动图标
- Android APP自动生成桌面快捷图标 启动方式有差异
- Adaptive Icons - Android O 自适应图标简单用法
- Android如何做到应用程序图标隐藏,由第三方程序显示启动
- Android 8.1 功能和API 自适应图标
- Android 点击桌面图标每次启动闪屏页大的解决方案
- 关于Android开发中启动应用但桌面不显示图标的问题
- Android O 新特性介绍:自适应图标(Adaptive Icons)
- android7.1新特性 App Shortcuts 图标快捷启动
- Android系统 小米/三星/索尼 应用启动图标未读消息数(BadgeNumber)动态提醒
- Android共享Activity,并设置无主入口启动图标的方式。
- 更改Android程序名和启动图标
- Android应用返回桌面后,每次点击图标,启动界面都会出现
- Android启动后icon应用图标不能显示的可能问题
- Android应用设置多个启动图标,动态列换应用图标
- Android Launcher隐藏指定应用的启动图标
- Android apk签名、第三方内置、图标添加与删除、开关机动画及铃声、启动第三方程序
- Android安装后出现两个启动图标
- Android 两个应用之间跳转 和隐藏引用的启动图标
- Android 图标自适应:用 TextView 来显示图片 & 生成自己的字体库