【发布时间】:2020-02-25 04:08:07
【问题描述】:
我需要知道是否有任何方法可以在闪屏期间执行任务在颤振中可见。我知道如何在颤动中添加启动画面,但我不知道如何在启动画面可见期间执行后台操作。我在互联网上找不到任何东西,请帮忙。
【问题讨论】:
标签: flutter splash-screen
我需要知道是否有任何方法可以在闪屏期间执行任务在颤振中可见。我知道如何在颤动中添加启动画面,但我不知道如何在启动画面可见期间执行后台操作。我在互联网上找不到任何东西,请帮忙。
【问题讨论】:
标签: flutter splash-screen
是的,是的,你可以。 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));
}
【讨论】:
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,
)
这将加载并保持启动画面,直到您的功能完成。
您的函数必须返回一个小部件,在本例中是您的主屏幕。这也允许根据您的数据进行动态路由,例如用户是否登录。
【讨论】: