Bootstrap

Flutter中的路由

1.概述

Flutter支持所有的路由场景,包括push页面、pop页面,以及页面间的参数传递等。flutter里面的路由可以分为如下两种。

  • 静态路由:直接注册,不能传递参数。
  • 动态路由:要自己构造实例,可以传递参数。

静态路由

采用静态路由,首先创建路由的时候就已经明确知道了要跳转的页面和对应的值,在新建一个MaterialDesign风格的App的时候,可以传入一个routes参数来定义路由。但是这里定义的路由是静态的,它不可以向下一个页面传递参数。
具体的举例代码如下:

class StaticRouter extends StatelessWidget {
  @override
  Widget build(BuildContext buildContext) {
    return new MaterialApp(
      title: 'flutter静态路由',
      theme: new ThemeData(primarySwatch: Colors.blue //主题设置为蓝色
          ),
      routes: {
        "router/pageTwo": (buildContext) => SecondPage(), //指向第二个界面的路由(注意:这里就是静态路由的声明方式!)
      },
      home: new FirstPage(title: '第一个界面'),
    );
  }
}

//第一个界面
class FirstPage extends StatefulWidget {
  FirstPage({Key key, this.title}) : super(key: key);
  final String title
;