有没有办法从导航器类(超级…超级子级)访问MaterialApp?
child: Navigator(
onGenerateRoute: (RouteSettings settings){
print('settings ${settings.name}');
if(settings.name == '/'){
return MaterialPageRoute(
builder: (_) => _page(index),
settings: settings
);
}
else if(settings.name == '/blog_details'){
return CustomRoute<bool>(
builder: (BuildContext context) => BlogDetailsPage(widget.model)
);
}
},
),
从上到下
child: MaterialApp(
debugShowCheckedModeBanner: false,
theme: getAdaptiveThemeData(context),
routes: { /// some routes///}
onGenerateRoute: (RouteSettings settings){
if(settings.name == '/blog_details'){
return CustomRoute<bool>(
builder: (BuildContext context) => BlogDetailsPage(_model)
);
}
},
最佳答案
您可以使用rootNavigator: true访问MaterialApp导航器,
FlatButton(
child: Text('Push App Route'),
onPressed: () {
Navigator.of(context, rootNavigator: true)
.pushNamed('/blog_details');
},
)
关于routes - routeSettings从Navigator到MaterialApp的 flutter ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54968789/