自适应图标不起作用

时间:2017-10-18 18:30:26

标签: android android-8.0-oreo

清单:

<application
    android:name="..."
    android:allowBackup="false"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/MyTheme"
    tools:replace="icon,label,theme,name,allowBackup">

mipmap-anydpi-v26文件夹下我定义了ic_launcher.xml

<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
   <background android:drawable="@color/white"/>
   <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>

这是我的文件夹结构: projects.jobs.getMetrics

的build.gradle:

compileSdkVersion = 26
buildToolsVersion = "25.0.2"
supportLibVersion = "25.3.1"
targetSdkVersion = 25
minSdkVersion = 18

和,我正在使用android studio 3.0

但最终的结果是我得到了一个默认的android图标而不是我提供的图标。

我还尝试将前景png放在所有密度文件夹(mipmap-xhdpi等)中,虽然我在执行此操作时只使用相同的png进行测试

5 个答案:

答案 0 :(得分:8)

自适应图标需要API 26,因此您需要将buildtools更新为至少26.0.0版本

答案 1 :(得分:1)

我也遇到过同样的问题,这是我如何解决此问题

  1. 右键单击资源->新建-> ImageAsset

  2. 选择ic_launcher_background图标和ic_launcher_foreground,如下面的屏幕所示

enter image description here

  1. Android Studio在资源 mipmap (anydpi-v26)

    下创建ic_launcher.xml。
    UITableView
  2. 现在在Manifest.XML中,声明图标和圆形图标 如下所示

    contentSize

    仅此而已,然后在出现的任何设备上运行您的应用程序

答案 2 :(得分:0)

ic_launcher.xml应该是这样的

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

答案 3 :(得分:0)

我尝试使用<ImageView>调试它。当我这样做时,我得到一个回溯结尾:

Caused by: java.lang.IllegalArgumentException: Path string cannot be empty.

原来我的ic_launcher_foreground.xml有一些<path>元素,其中android:pathData属性为空。

删除那些空的<path>使图标有效!

答案 4 :(得分:0)

我在显示自适应图标时遇到问题。原来我没做错任何事。我在Android Studio中执行“清理项目”后,它开始工作。