routeSettings from Navigator to MaterialApp flutter

2,960

You can access your MaterialApp navigator with rootNavigator: true,

FlatButton(
   child: Text('Push App Route'),
   onPressed: () {
     Navigator.of(context, rootNavigator: true)
         .pushNamed('/blog_details');
   },
)
Share:
2,960
Azamat Ahunjanov
Author by

Azamat Ahunjanov

Updated on December 09, 2022

Comments

  • Azamat Ahunjanov
    Azamat Ahunjanov over 1 year

    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)
                  );
                }
              },