清单:
<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进行测试
答案 0 :(得分:8)
自适应图标需要API 26,因此您需要将buildtools更新为至少26.0.0版本
答案 1 :(得分:1)
我也遇到过同样的问题,这是我如何解决此问题
右键单击资源->新建-> ImageAsset
选择ic_launcher_background图标和ic_launcher_foreground,如下面的屏幕所示
Android Studio在资源 mipmap (anydpi-v26)
下创建ic_launcher.xml。UITableView
现在在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中执行“清理项目”后,它开始工作。