Flutter v2.5.0 安卓启动画面

46

我在我的当前项目中实现了原生启动画面,一切都正常工作,直到我升级到v2.5.0,现在我开始在控制台上收到这个废弃警告:

Flutter已经提供了一个启动画面,但是这已经被废弃了。请查看flutter.dev/go/android-splash-migration获取迁移步骤。

我查看了给出的链接(顺便说一句,它并不是很清晰),并且告诉我要删除o.flutter.embedding.android.SplashScreenDrawable API,因为Flutter现在会自动显示启动画面。

但是在没有这段代码的情况下运行我的应用程序,没有出现任何启动画面,而且启动应用程序需要一段时间 - 可能是初始化应用程序时没有启动画面之类的问题。

我是否做得正确,还是框架本身存在问题?


请在此处尝试我的答案链接,希望对您有所帮助。 - Ravindra S. Patil
1
@RavindraS.Patil 没有,它没有 :( - Muhammad Idrees
试试这个:https://dev59.com/wlEG5IYBdhLWcg3wQ4UK#69232039 - Kishan Dhankecha
@RavindraS.Patil 对我没有起作用。我已经运行了您建议的命令。谢谢。 - Kamlesh
@MuhammadIdrees,你找到解决方案了吗? - Duan Nguyen
显示剩余3条评论
4个回答

66

这是由于在AndroidManifest.xml中包含了以下代码所致,而这些代码在之前的Flutter版本中默认会被包含:

<meta-data
    android:name="io.flutter.embedding.android.SplashScreenDrawable"
    android:resource="@drawable/launch_background"
/>
解决方案是删除上述代码。 来源

1
不工作正常。在“AndroidManifest.xml”中删除推荐的行后,我的自定义启动画面不再显示。我应该怎么办呢? - gundrabur
完整的官方启动屏迁移指南在此处。本答案提到的相关步骤是第三步;“删除meta-data元素...” - cokeman19

12

请按照这个2021年的YouTube教程正确创建Flutter应用程序中的启动屏幕。确保在android/app/src/main/res文件夹内的drawable和drawable-v21文件夹中都创建launch_background.xml文件。

以正确的方式在2021年创建Flutter应用程序中的启动屏幕

如果您使用的是Flutter 2.5,请根据此处提到的说明从AndroidManifest.xml文件中删除以下行 --> android splash migration

<meta-data
 android:name="io.flutter.embedding.android.SplashScreenDrawable"
 android:resource="@drawable/launch_background"/>

11

从你的AndroidManifest.xml文件中删除以下行。在较新的版本中,它不再使用。

<meta-data
     android:name="io.flutter.embedding.android.NormalTheme"
     android:resource="@style/NormalTheme" />
            
<meta-data
      android:name="io.flutter.embedding.android.SplashScreenDrawable"
      android:resource="@drawable/launch_background" />


1
这是我的一个解决方案,在我的情况下有效。
在路径“android/app/src/main/res/”上有一个“drawable”和“drawable-v21”文件夹,您必须打开“drawable-v21”文件夹中的“launch_background.xml”,粘贴并稍微重构我的代码以提供您的图像或颜色。
<?xml version="1.0" encoding="utf-8"?>
<!-- Modify this file to customize your launch splash screen -->
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@android:color/your_color" />

    <!-- You can insert your own image assets here -->
    <item>
        <bitmap
            android:gravity="center"
            android:src="@drawable/your_image" />
    </item>
</layer-list>

附言:图片应该放在“drawable”文件夹中,而不是“drawable-v21”。你可以尝试,但在我的情况下,这样做并没有起作用,反而会报错。

附言2:我没有更改“AndroidManifest.xml”,“styles.xml”和其他文件。


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