颤振立即导航到屏幕

时间:2018-10-30 22:08:06

标签: flutter

我有一个登录屏幕,在我的表单按钮中,我进行了检查,然后调用Shared Preferences来设置登录标志,而initState我调用了一种方法来检查值并重定向到homeScreen。现在一切顺利,但是我能够看到登录表单大约一秒钟,然后我被重定向到首页。我希望完全看不到登录表单。我怎样才能做到这一点? 这是initState方法的内容:

I am larry

1 个答案:

答案 0 :(得分:1)

请勿将登录屏幕设置为AppWidget上的主屏幕。

代替此操作,创建一个LoadingScreen或SplashScreen并在此处检查登录状态。

class LoadingScreen extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<LoadingScreen> {

  @override
  Widget build(BuildContext context) {
    _checkLogin(context);
    return Scaffold(body: Center(child: CircularProgressIndicator()));
  }

  _checkLogin(BuildContext context) async {
    // do what you want with await functions
    if (condition) {
      Navigator.push(
            context, MaterialPageRoute(builder: (context) => HomeScreen()));
    } else {
      Navigator.push(
            context, MaterialPageRoute(builder: (context) => LoginScreen()));
    }
  }
}
相关问题