Removing the default back arrow on certain pages

Viewed 5975

From my understanding that a back arrow appears after navigating to any page by default. is there a way not to include the back arrow on a certain page of my choice ?

5 Answers

Duplicate of https://stackoverflow.com/a/44978595/3013538

I believe the solutions are the following

You actually either:

  • Don't want to display that ugly back button ( :] ), and thus go for : AppBar(...,automaticallyImplyLeading: false,...);

  • Don't want the user to go back - replacing current view - and thus go for: Navigator.pushReplacementNamed(## your routename here ##);

  • Don't want the user to go back - replacing a certain view back in the stack - and thus use: Navigator.pushNamedAndRemoveUntil(## your routename here ##, f(Route<dynamic>)→bool); where f is a function returning truewhen meeting the last view you want to keep in the stack (right before the new one);

  • Don't want the user to go back - EVER - emptying completely the navigator stack with: Navigator.pushNamedAndRemoveUntil(## your routename here ##, (_) => false);

Cheers

Set automaticallyImplyLeading to false in AppBar or assign empty container in leading

Using automaticallyImplyLeading

appBar: new AppBar(
   title: new Text("Your Text Here"), 
   automaticallyImplyLeading: false,
),

Using empty Container

appBar: new AppBar(
   title: new Text("Your Text Here"), 
   leading: new Container(),
),

In case you want to remove the back button in a FloatingSearchBar, use

automaticallyImplyBackButton: false

Related