Reputation: 366
is there any way to get access from Navigator class (super...super child) to 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)
);
}
},
),
from above code to below
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)
);
}
},
Upvotes: 1
Views: 4593
Reputation: 6951
You can access your MaterialApp navigator with rootNavigator: true,
FlatButton(
child: Text('Push App Route'),
onPressed: () {
Navigator.of(context, rootNavigator: true)
.pushNamed('/blog_details');
},
)
Upvotes: 3