已弃用的启动画面 API 迁移
在 Flutter 2.5 之前,Flutter 应用可以通过在应用程序清单文件 (AndroidManifest.xml
) 的元数据中定义启动画面、在 FlutterActivity
中实现 provideSplashScreen
或同时使用这两种方法来添加启动画面。启动画面会在 Android 启动画面显示后到 Flutter 绘制第一帧之间短暂显示。从 Flutter 2.5 开始,这种方法已弃用。Flutter 现在会自动保持 Android 启动画面显示,直到绘制第一帧。
要从定义自定义启动画面迁移到仅定义应用程序的自定义启动画面,请按照与 2.5 版本发布之前应用程序自定义启动画面定义方式相对应的步骤操作。
在 FlutterActivity
中定义的自定义启动画面
在您的应用程序的
FlutterActivity
中找到provideSplashScreen()
的实现并**将其删除**。此实现应涉及将应用程序的自定义启动画面构造为Drawable
。例如java@Override public SplashScreen provideSplashScreen() { // ... return new DrawableSplashScreen( new SomeDrawable( ContextCompat.getDrawable(this, R.some_splash_screen))); }
使用后续部分中的步骤确保您的
Drawable
启动画面(在前面的示例中为R.some_splash_screen
)已正确配置为应用程序的自定义启动画面。
在清单文件中定义的自定义启动画面
找到应用程序的
AndroidManifest.xml
文件。在此文件中,找到activity
元素。在此元素中,识别定义启动画面为io.flutter.embedding.android.SplashScreenDrawable
的android:theme
属性和meta-data
元素,并对其进行更新。例如xml<activity // ... android:theme="@style/SomeTheme"> // ... <meta-data android:name="io.flutter.embedding.android.SplashScreenDrawable" android:resource="@drawable/some_splash_screen" /> </activity>
如果未指定
android:theme
属性,请添加该属性并 为应用程序的启动画面定义启动主题。删除
meta-data
元素,因为 Flutter 不再使用它,但它可能会导致崩溃。在应用程序的
style
资源中找到android:theme
属性指定的主题的定义。此主题指定应用程序的启动主题。确保style
属性使用自定义启动画面配置android:windowBackground
属性。例如xml<resources> <style name="SomeTheme" // ... > <!-- Show a splash screen on the activity. Automatically removed when Flutter draws its first frame --> <item name="android:windowBackground">@drawable/some_splash_screen</item> </style> </resources>
除非另有说明,否则本网站上的文档反映了 Flutter 的最新稳定版本。页面上次更新于 2024-04-04。 查看源代码 或 报告问题.