我可以为Flutter应用程序使用Android 8.0自适应图标吗?

18
如何在Android 8.0及以上版本的Flutter应用中使用自适应图标?在Android Studio的“创建图像资产”对话框中显示“必须使用SDK 26或更高版本构建项目才能使用自适应图标”,尽管我的android build.gradle已将CompileSDKVersion设置为27。如果我在XML中定义图标,它不起作用,似乎只使用常规遗留应用程序图标。
1个回答

20

它们完美地运作。

解决方案

要使用对话框,您需要在Android Studio中打开Android模块
Flutter.dev 文章

在菜单栏中导航如下:ToolsFlutterOpen Android module in Android Studio 或右键单击项目视图中的任何android文件夹并选择 FlutterOpen Android module in Android Studio

现在,您就可以正常使用资源对话框了

如果仍然无法正常工作(这不会发生)

如果您的对话框在Flutter项目不能正常工作,则可以在Android项目中轻松创建自适应图标,然后复制所需的文件,包括:

  • ic_launcher_background.xml(drawable),如果您选择的是颜色,则我认为它位于values

  • ic_launcher_foreground.xml(drawable-v24)

  • ic_launcher.xml和如果您创建了ic_launcher_round.xml(mipmap-anydpi-v26)

  • 对于向下兼容,需要在 mipmap-hdpi 到 mipmap-xxxhdpi 中包含所有的 ic_launcher.png 和 ic_launcher_round.png。如果您的最小 SDK 要求大于 25,则这些可能不是必需的。

  • 这涵盖了我所需要的一切。现在,在您的 AndroidManifest.xml 文件中,在您的 <application> 标记中指定 android:icon="@mipmap/ic_launcher" 作为应用程序图标,如有需要,也可以指定 android:roundIcon:"@mipmap/ic_launcher_round"


    1
    难道不是一个漏洞吗?为了使其始终正常工作,应该在不同的模式下再次打开项目吗? - Dakatine
    当我打开Android模块时,我的“New -> Image asset”菜单看不到。只有在Gradle同步成功之后才会出现,但由于依赖问题,我的Gradle同步失败了。 - Lahiru Chandima
    @Lahiru Candima,我该如何在我的Flutter项目中使用Gradle Sync?我已经在VSCode中创建了我的项目,但是当我将其导入到Andriod Studio 4.1.1中时,它会给出错误“此项目不是基于Gradle的”。我甚至尝试在Andriod Studio中创建项目,但它没有给我Gradle Sync选项。每次我都必须重新导入项目才能在Andriod Studio中给我同步选项,但它仍然给出“非Gradle基础项目”的错误。它也没有给我Android模块。 - M Tayyab Asghar

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接