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