路由(Route)在移动开发中通常指页面(Page),这跟 Web 开发中单页应用的 Route 概念意义是相同的,Route 在 Android中 通常指一个 Activity,在 iOS 中指一个 ViewController。所谓路由管理,就是管理页面之间如何跳转,通常也可被称为导航管理。Flutter 中的路由管理和原生开发类似,无论是 Android 还是 iOS,导航管理都会维护一个路由栈,路由入栈(push)操作对应打开一个新页面,路由出栈(pop)操作对应页面关闭操作,而路由管理主要是指如何来管理路由栈。
路由命名
return MaterialApp(
title: '',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: HomePage(),
debugShowCheckedModeBanner: false,
//注册路由表
routes: <String, WidgetBuilder>{
'baseType': (BuildContext content) => BaseType(),
'methodList': (BuildContext content) => MethodList(),
'mixin': (BuildContext content) => Mixin(),
'genericity': (BuildContext content) => Genericity(),
'stateless': (BuildContext content) => Stateless(),
'stateful': (BuildContext content) => Stateful(),
'lifeCycle': (BuildContext content) => LifeCycle(),
},
);
Navigator.pushNamed(context, 'stateful');
非路由命名
Navigator.push(
context,
MaterialPageRoute<void>(
builder: (BuildContext context) => MethodList(),
));