在 Flutter 的启动画面期间加载数据
Load Data during Splash Screen in Flutter
我想知道有什么方法可以在 flutter 中显示启动画面时执行任务。我知道如何在 flutter 中添加启动画面,但我不知道如何在启动画面可见期间执行后台操作。我在网上找不到任何东西,请帮忙。
是的,是的,你可以。 main()
函数实际上可以标记为async
,所以你可以在main()
方法体中做运行runApp(...)
之前需要做的任何事情,甚至异步。这样,在调用 runApp(...)
之前,将显示初始屏幕,直到检索到您的异步结果。例如:
Future<void> main() async {
// Do whatever you need to do here
final home = await setHomeWidgetDependingOnLoginStatus();
return runApp(MyApp(home: home));
}
animated_splash_screen 软件包用文字表达了这一点。将其添加到您的 pubspec.yml
animated_splash_screen: ^1.1.0
AnimatedSplashScreen.withScreenFunction(
splash: 'images/splash.png',
screenFunction: () async{
// Your code here
return MainScreen();
},
splashTransition: SplashTransition.rotationTransition,
pageTransitionType: PageTransitionType.scale,
)
这将加载并保持初始屏幕,直到您的功能完成。
您的功能必须 return 一个小部件,在本例中是您的主屏幕。这也允许根据您的数据进行动态路由,例如,用户是否登录。
我想知道有什么方法可以在 flutter 中显示启动画面时执行任务。我知道如何在 flutter 中添加启动画面,但我不知道如何在启动画面可见期间执行后台操作。我在网上找不到任何东西,请帮忙。
是的,是的,你可以。 main()
函数实际上可以标记为async
,所以你可以在main()
方法体中做运行runApp(...)
之前需要做的任何事情,甚至异步。这样,在调用 runApp(...)
之前,将显示初始屏幕,直到检索到您的异步结果。例如:
Future<void> main() async {
// Do whatever you need to do here
final home = await setHomeWidgetDependingOnLoginStatus();
return runApp(MyApp(home: home));
}
animated_splash_screen 软件包用文字表达了这一点。将其添加到您的 pubspec.yml
animated_splash_screen: ^1.1.0
AnimatedSplashScreen.withScreenFunction(
splash: 'images/splash.png',
screenFunction: () async{
// Your code here
return MainScreen();
},
splashTransition: SplashTransition.rotationTransition,
pageTransitionType: PageTransitionType.scale,
)
这将加载并保持初始屏幕,直到您的功能完成。
您的功能必须 return 一个小部件,在本例中是您的主屏幕。这也允许根据您的数据进行动态路由,例如,用户是否登录。