使用 <maskable-icon> 创建自适应图标

Creating Adaptive Icons with <maskable-icon>

我正在尝试使用本指南进行实施:

https://developer.android.com/preview/features/adaptive-icons.html#Creating

用于 Android O 预览,但启动器显示默认的 Android 图标,而不是 ic_launcher.xml

中指示的两个图层

ic_launcher.xml

<maskable-icon>
   <background android:drawable="@mipmap/layer0"/>
   <foreground android:drawable="@mipmap/layer1"/>
</maskable-icon>

有人试过实现这个吗?或者仍然不可用?

(在我的清单中,我将 ic_launcher.xml 放在图标中)

更新: Google 更新您的网站并将 adaptive-icon 改为 maskable-icon

你是不是忘记在清单中定义它了?

<application
        ...
        android:icon="@mipmap/ic_launcher"
        ...>

    ...

</application>

我在查看下面的文件时找到了答案。

\android-sdk-windows\platforms\android-O\data\res\drawable\sym_def_app_icon.xml

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

我不知道哪个最终是对的。 但是现在(预览版 1),自适应图标标签似乎可以正常工作。

您可能还需要将此添加到您的 AndroidManifest.xml 文件中:

android:roundIcon="@mipmap/ic_launcher_round"