Android应用图标适配

作者: 翻译不了的声响 | 来源:发表于2019-04-09 13:46 被阅读9次

Android应用图标常见的除了“方形”和“圆角矩形”,有的设备上还出现了圆形应用图标。同一个应用,为什么在不同的系统设备上显示的效果不一样呢?带着疑问查找了一下官方文档,原来是 Android 8.0(API 26)引入了自适应启动图标,它可以在不同设备型号上显示为不同的形状效果。

1. 自适应图标简介

在一台原始设备制造商 (OEM) 设备上,自适应启动图标可显示为圆形,而在其他设备上则可显示为方圆形。每个设备的原始设备制造商 (OEM) 都会提供一个蒙版,系统使用该蒙版渲染所有具有相同形状的自适应图标。自适应启动器图标还会在快捷方式、“设置”应用、共享对话框和概览屏幕中使用。

我们可以通过定义 2 个图层(由一个背景图层和一个前景图层组成)来控制自适应启动图标的外观。必须要提供图标图层作为可绘制资源,而不使用图标轮廓周围的蒙版或背景阴影。

在 Android 7.1(API 25)及更早版本中,启动图标的尺寸为 48 x 48 dp。现在必须按照以下准则调整图标图层的尺寸:

  • 两个图层的尺寸都必须调整为:108 x 108 dp
  • 已遮挡的视图中显示的图标内层为:72 x 72 dp
  • 系统会为外层的 4 边保留 18 dp 的边距,以创建有趣的视觉效果(例如视差或脉动效果)。
    注意:动画视觉效果由受支持的启动器生成。视觉效果可能因启动器而异。
2. 应用图标介绍

在 AS 3.0后新建项目多了一个 mipmap-anydpi-v26 文件夹,这个文件其实就是用来存放自适应图标的,而且在 AndroidManifest.xml 文件<application>中也会多了一个android:roundIcon设置。

<application
     ...
     android:icon="@mipmap/ic_launcher"
     android:label="@string/app_name"
     android:roundIcon="@mipmap/ic_launcher_round" 
     ... >
</application>

这里 android:icon是设置普通图标,android:roundIcon是设置圆形图标;

新增的 mipmap-anydpi-v26 目录下的 ic_launcher.xmlic_launcher_round.xml 其实是 XML文件,而不是一张图片,代码如下所示:

<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
    <background android:drawable="@drawable/ic_launcher_background" />
    <foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>

在 Android 8.0(API 26)后,新加了<adaptive-icon>元素。在<adaptive-icon>标签中<background>标签用于指定图标的背景层,<foreground>标签用于指定图标的前景层。<foreground><background>内部元素均支持android:drawable属性。

  • 背景文件 ic_launcher_background.xml 文件,内容如下图所示:

这是一个使用SVG格式绘制出来的带纹理的底图。背景层并不是一定要用SVG格式的图片,你也可以使用普通的PNG、JPG等格式的图片,甚至是直接指定一个背景色都可以。

  • 前景文件 ic_launcher_foreground.xml 文件,内容如下图所示:

这里也是使用SVG格式绘制出了一个Android机器人的Logo,并且这个机器人还是带投影效果的。当然了,前景层我们也是可以使用PNG、JPG等格式的图片。

3. 应用图标适配

使用 Image Asset Studio 帮我们生成适配系统的应用图标,具体方法请移驾 —— 《Android Studio中 Image Asset Studio用法》

相关文章

  • Android屏幕适配

    一. 为什么要适配屏幕 android屏幕大小、屏幕密度碎片化严重 二. 怎么样适配屏幕 图片适配 应用图标提供不...

  • Android应用图标适配

    Android应用图标常见的除了“方形”和“圆角矩形”,有的设备上还出现了圆形应用图标。同一个应用,为什么在不同的...

  • Android Q适配(4)-------针对后台 Activi

    Android Q适配(1)-------图标篇 Android Q适配(2)-------定位篇 Android...

  • Android 8.0适配的一些优秀文章收集

    慢慢收集~ 一起来学习Android 8.0系统的应用图标适配吧 一起来学习Android 8.0系统的通知栏适配...

  • Android 8.0 应用图标适配 & mipmap-anyd

    郭神的超赞文章《Android应用图标微技巧,8.0系统中应用图标的适配》 特记录下来,不班门弄斧了。 Asset...

  • Unity在Android设备中的icon适配

    应用icon图标适配 前言: 游戏上了 Google Play 之后,若没有做 Android 8.0 及更高版本...

  • Android8.0图标适配流程

    1.把你的图标放进mipmap里面 最好自己单独命名 2.根据郭大神的适配先来一遍 Android应用图标微技巧...

  • android适配8.0图标小解

    前几天,小主被经理叫过去。华为手机,android8.0系统,应用原来图标竟然是系统默认的。图标不适配。吓了我一跳...

  • Android 8.0图标适配

    1.为什么要进行图标适配 android 8.0中 如果不对图标进行适配就会出现白底图标,比如饿了吗,小黄车等软...

  • Android屏幕适配-应用篇

    目录 Android屏幕适配-基础篇Android屏幕适配-应用篇 Android屏幕适配最主要的原因:  是由于...

网友评论

    本文标题:Android应用图标适配

    本文链接:https://www.haomeiwen.com/subject/igczbqtx.html