删除某些页面上的默认后退箭头

时间:2017-07-30 09:09:30

标签: flutter

根据我的理解,默认情况下导航到任何页面后会出现后退箭头。有没有办法不在我选择的某个页面上包含后退箭头?

4 个答案:

答案 0 :(得分:2)

根据AppBar docs

  

如果省略了前导小部件,...否则,如果最近的导航器有任何先前的路由,则会插入BackButton。

所以你可以用这种方式隐藏它

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

enter image description here

答案 1 :(得分:1)

  

重复https://stackoverflow.com/a/44978595/3013538

我相信解决方案如下

你实际上是:

  • 不想显示那个丑陋的后退按钮(:]),因此去: AppBar(...,automaticallyImplyLeading: false,...);

  • 不希望用户返回 - 替换当前视图 - 从而获取: Navigator.pushReplacementNamed(## your routename here ##);

  • 不希望用户返回 - 替换堆栈中的某个视图 - 从而使用: Navigator.pushNamedAndRemoveUntil(## your routename here ##, f(Route<dynamic>)→bool); 其中f是一个函数,当遇到你想要保留在堆栈中的最后一个视图(在新的视图之前)时返回true;

  • 不希望用户返回 - EVER - 完全清空导航器堆栈: Navigator.pushNamedAndRemoveUntil(## your routename here ##, (_) => false);

干杯

答案 2 :(得分:0)

要隐藏后退按钮,请将Appbar的 automaticImplyLeading 属性设置为false

         <style>
            #myDIV {
               width: 100%;
            padding: 50px 0;
            text-align: center;
            background-color: #000;
            margin-top: 20px;
            color:#fffff;
            }
            </style>
         

答案 3 :(得分:0)

在AppBar中将 implyLeading 设置为 false ,或在线索

中分配空容器

使用自动ImplyLeading

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

使用空容器

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