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

时间:2017-03-23 06:16:16

标签: android android-studio android-8.0-oreo

我尝试使用本指南实施:

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

for Android O Preview但启动器会显示默认的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

3 个答案:

答案 0 :(得分:3)

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

\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),adaptive-icon标签似乎正常工作。

答案 1 :(得分:1)

您是否忘记在清单中定义它?

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

    ...

</application>

答案 2 :(得分:0)

您可能还必须将此添加到AndroidManifest.xml文件中:

android:roundIcon="@mipmap/ic_launcher_round"