Shady Aziza
Shady Aziza

Reputation: 53307

Removing the default back arrow on certain pages

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 ?

Upvotes: 4

Views: 7225

Answers (5)

Isaac Chambers
Isaac Chambers

Reputation: 141

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

automaticallyImplyBackButton: false

Upvotes: 1

goops17
goops17

Reputation: 1160

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(),
),

Upvotes: 2

Shyju M
Shyju M

Reputation: 9933

To hide the back button, set the automaticallyImplyLeading property of the Appbar as false

new Scaffold(
            appBar: new AppBar(
              automaticallyImplyLeading: false,
            )
)

Upvotes: 6

Fabio Veronese
Fabio Veronese

Reputation: 8360

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

Upvotes: 6

German Saprykin
German Saprykin

Reputation: 6951

According to AppBar docs

If the leading widget is omitted, ... Otherwise, if the nearest Navigator has any previous routes, a BackButton is inserted instead.

So you can hide it in such way

new Scaffold(
          appBar: new AppBar(
            title: new Text("Without back button"),
            leading: new Container(),
          ),
        );

enter image description here

Upvotes: 3

Related Questions