我在加载应用程序时有一个启动屏幕。我在我的应用程序中实现了一个自动登录系统,我尝试使用Container
重新创建启动屏幕。但每当启动屏幕完成加载时,我都会看到容器闪烁,因为它从启动屏幕切换到Container
,看起来一点也不好。有什么办法可以让我";延伸";启动屏幕加载而不是使用重新创建的容器?
我正在将此软件包用于启动屏幕https://pub.dev/packages/flutter_native_splash
main.dart
home: FutureBuilder(
future: _autoLogin,
builder: (BuildContext context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
//Recreated splash screen
return Center(
child: Container(
width: 213.0,
height: 121.0,
decoration: const BoxDecoration(
color: Colors.black,
image: DecorationImage(
image: AssetImage("assets/images/splash.png"),
fit: BoxFit.contain)),
),
);
}
if (snapshot.connectionState == ConnectionState.done) {
if (snapshot.hasData && snapshot.data == true) {
return const HomePage();
}
}
return Onboarding();
}),
在调用runApp
函数之前,可以尝试在main
方法中执行"自动登录"过程。这样,在您调用函数之前,Splash屏幕将一直显示。
注意:最好有一些超时逻辑,这样,如果自动登录花费的时间超过预期,用户就不会认为应用程序在打开时挂起。