Flutter-StatefulWidget和路线

时间:2019-07-27 14:33:23

标签: flutter

我如何使用以下方法创建应用程序

  

StatefulWidget和路由是否使用相同的代码?在Flutter中

我将在同一应用程序中使用它。我可以分别创建一个不同的应用程序StatefulWidget并将其路由,但不能同时运行:/

我的目标是创建一个计时器并将路线更改为应用程序中的防御视图

这是我的路线:

void main() {
  runApp(MaterialApp(
    title: 'Named Routes Demo',
    // Start the app with the "/" named route. In this case, the app starts
    // on the FirstScreen widget.
    initialRoute: '/',
    routes: {
      // When navigating to the "/" route, build the FirstScreen widget.
      '/': (context) => FirstScreen(),
      // When navigating to the "/second" route, build the SecondScreen widget.
      '/second': (context) => SecondScreen(),
    },
  ));
}

感谢您的帮助:)

2 个答案:

答案 0 :(得分:0)

您好,您可以在计时器执行完毕后使用此方法重定向到任何有状态的小部件。

void _redirectToPage(BuildContext context, Widget page) {
    WidgetsBinding.instance.addPostFrameCallback((_) {
      MaterialPageRoute newRoute =
          MaterialPageRoute(builder: (BuildContext context) => page);

      Navigator.of(context)
          .push(newRoute);
    //or  Navigator.of(context).pushAndRemoveUntil(newRoute, ModalRoute.withName('/'));
    });
  }

答案 1 :(得分:0)

我发现它在此页面上

  

https://kodestat.gitbook.io/flutter/flutter-basic-navigation-and-routes/routes-using-statefulwidget

那就是我想要的。

setState(() {
  _counter++;
});

所以我可以更新文本并更改视图:)