Navigate out from CupertinoTabScaffold

1,072

Found solution from the official FlutterGallery source code. This will navigate route to root.

https://github.com/flutter/flutter/blob/master/examples/flutter_gallery/lib/demo/cupertino/cupertino_navigation_demo.dart#L122

Navigator.of(context, rootNavigator: true).pop();
Share:
1,072
Jofre
Author by

Jofre

Flutter and Java Android developer with 9 years of experience. A part from Mobile development I also have basic knowledge of Backend development with Node.js.

Updated on December 02, 2022

Comments

  • Jofre
    Jofre over 1 year

    I have an App with a LoginScreen that goes to the HomeScreen after a success login. I use this code below to replace the widget and start a new navigation Stack:

    Navigator.pushReplacement(
        context,
        CupertinoPageRoute(
          builder: (context) => HomeScreen(),
        ),
      );
    

    The HomeScreen is a CupertinoTabScaffold with 2 CupertinoTabViews.

    The second CupertinoTabView contain a Widget that has a logout button.

    After a success logout I want to remove the HomeWidget, and go to LoginScreen.

    Using

    Navigator.pushReplacement(
        context,
        CupertinoPageRoute(
          builder: (context) => LoginScreen(),
        ),
      );
    

    in a Widget inside the second CupertinoTabView only reset its navigation, and the LoginScreen appears inside the second CupertinoTabView.

    What I want is some code to remove my HomeScreen and start a new Navigation stack with the LoginScreen.