使用如下
MaterialApp.onGenerateRoute属性:
onGenerateRoute: (RouteSettings settings) { print('build route for ${settings.name}'); var routes = <String, WidgetBuilder>{ "hello": (ctx) => Hello(settings.arguments), "other": (ctx) => SomeWidget(), }; WidgetBuilder builder = routes[settings.name]; return MaterialPageRoute(builder: (ctx) => builder(ctx));},现在您可以简单地使用
NavigatorState.pushNamed:
Navigator.of(context).pushNamed("hello", arguments: "world");在这里,您有一些测试
Hello小部件:
class Hello extends StatelessWidget { final String greet; Hello(this.greet); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(), body: Center( child: Text( 'hello $greet', textScaleFactor: 5.0, ), ), ); }}


