【问题标题】:Flutter (2.5) - A splash screen was provided to Flutter, but this is deprecatedFlutter (2.5) - 为 Flutter 提供了启动画面,但已弃用
【发布时间】:2021-11-12 20:07:18
【问题描述】:

我是 Flutter 的新手,最近尝试使用最新版本的 Flutter 2.5 开发一个用于学习的测试应用程序。通过在线查看一些教程,我为启动屏幕添加了flutter_native_splash: ^1.2.3 包。并且工作正常。

但是,当我第一次启动应用程序时,它会显示以下调试消息

W/FlutterActivityAndFragmentDelegate(18569):为 Flutter 提供了启动画面,但已弃用。有关迁移步骤,请参阅 flutter.dev/go/android-splash-migration。

访问上述链接后,我不太明白应该做什么。

pubspec.yaml 中的代码

flutter_native_splash:
  color: "#FFFFFF"
  color_dark: "#000000"
  image: assets/images/splash_720.png
  android: true
  ios: true
  android12: true

另外,compileSdkVersion 和 targetSdkVersion 在 build.gradle 中设置为 31

请帮忙。提前致谢。

【问题讨论】:

    标签: flutter splash-screen


    【解决方案1】:

    为避免该警告,您只需从项目中删除该 API 使用。

    AndroidManifest.xml 文件中删除这些代码行。

    以前,Android Flutter 应用要么在其应用清单中设置 io.flutter.embedding.android.SplashScreenDrawable,要么在其 Flutter Activity 中实现 provideSplashScreen。这将在显示 Android 启动屏幕之后和 Flutter 绘制第一帧之间的时间短暂显示。这不再需要并且已被弃用——Flutter 现在会自动显示 Android 启动屏幕,直到 Flutter 绘制第一帧。开发人员应改为删除这些 API 的使用。 - source



    更新(颤振 2.8.0)

    根据flutter 2.8.0更新,新创建的项目没有这个警告。

    他们从 Androidmanifest.yml 中删除了未使用的 API,但仍然有喜欢提到的代码。

    【讨论】:

      【解决方案2】:

      从 android 清单文件中删除以下行。已经不用了

       <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"/>

      【讨论】:

        猜你喜欢
        • 2020-04-16
        • 2019-08-16
        • 1970-01-01
        • 2020-11-02
        • 2021-09-25
        • 2021-12-26
        • 2021-10-24
        • 2022-08-17
        • 2018-08-31
        相关资源
        最近更新 更多