Flutter 页面导航:后退按钮与 AppBar 的后退箭头具有相同的行为

Flutter Page Navigation : Back Button to have same behaviour as Back Arrow of the AppBar

我刚开始学习 flutter。我在应用程序的互联网上找到了一个很好的例子。这是关于小部件之间的导航。

文章:https://medium.com/flutter/getting-to-the-bottom-of-navigation-in-flutter-b3e440b9386

完整代码:https://gist.github.com/HansMuller/b189642d10fd236a41044fdf7626f7b0

我的应用程序实现的 lib 文件夹https://github.com/Liam-Noah/myapp_navigation

我的问题是: 如何让后退按钮具有与 Appbar 的后退箭头相同的行为。后者只是 returns 到前一个屏幕。后退按钮完全退出应用程序。

我设法做了什么: 在主页树部件的根部添加 WillPopScope:

WillPopScope(
        onWillPop: (){
          //return Navigator.of(context).maybePop<bool>(false);

        Navigator.pushNamed(context, "/");

          return Future.value(false);
        },

结果: 这有效,但是 returns 到 bottomNavigationBar 的第一个选项卡,即使您选择了其他选项卡。它仍然不像 AppBar 的后退箭头。

我尝试在 onWillPop 回调中替换为:

Navigator.of(context).maybePop<bool>(false);

但没有成功,导致死循环。即使 appbar 实际上调用了这个函数。

感谢您的建议!

试试这个,

Navigator.of(context).pop();

  Navigator.pop(context);