Flutter启动页未跳转至登录页问题求助
问题解决:启动页无法跳转至登录页
核心问题:生命周期方法拼写错误
你的_Splash_screenState类中,initstate方法是小写的s,而Flutter要求生命周期方法initState必须采用驼峰命名(首字母S大写)。这个拼写错误导致该方法完全没有被系统触发,Timer逻辑自然不会执行,跳转也就无法生效。
修复步骤
修改Splash_screen.dart中的方法名,将initstate改为initState:
@override void initState() { // 修正为大写S的驼峰命名 super.initState(); Timer(Duration(seconds: 2), () { Navigator.pushReplacement( context, MaterialPageRoute( builder: (context) => MyLogin(), )); }); }
额外优化建议
- 移除重复导入:
Splash_screen.dart中重复导入了flutter_native_splash,可删除其中一行冗余代码。 - 改用命名路由:既然
main.dart已注册login路由,可简化跳转代码:
Timer(Duration(seconds: 2), () { Navigator.pushReplacementNamed(context, 'login'); });
- 处理原生闪屏:如果使用了
flutter_native_splash,需在合适时机调用FlutterNativeSplash.remove(),避免原生闪屏遮挡Flutter启动页内容。
内容的提问来源于stack exchange,提问作者Anurag Singh
相关产品推荐
相关产品推荐

