MaterialApp(
initialRoute: '/',
onGenerateRoute: onGenerateRoute,
);
...
final Map<String, Function> routes = {
'/': (_, {arguments}) => Tabs(),
'/counter1': (_, {arguments}) => Counter1(),
'/counter2': (_, {arguments}) => Counter2(arguments: arguments),
};
var onGenerateRoute = (RouteSettings settings) {
final String name = settings.name;
final Function pageContentBuilder = routes[name];
if (pageContentBuilder != null) {
final Route route = MaterialPageRoute(
builder: (context) =>
pageContentBuilder(context, arguments: settings.arguments));
return route;
}
};
...
class Couter2 extends StatelessWidget {
Map arguments;
Couter2({Key key, this.arguments}) : super(key: key);
}