Flutter Page Navigation:后退按钮与 AppBar 的后退箭头具有相同的行为

Posted

技术标签:

【中文标题】Flutter Page Navigation:后退按钮与 AppBar 的后退箭头具有相同的行为【英文标题】:Flutter Page Navigation : Back Button to have same behaviour as Back Arrow of the AppBar 【发布时间】:2020-10-22 06:35:03 【问题描述】:

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

文章: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 的后退箭头相同的行为。后者只是返回到前一个屏幕。后退按钮完全退出应用程序。

我设法做到了: 在 HomePage 的树小部件的根目录添加 WillPopScope:

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

        Navigator.pushNamed(context, "/");

          return Future.value(false);
        ,

结果: 这可行,但即使您选择了其他选项卡,也会返回到底部导航栏的第一个选项卡。它仍然不像 AppBar 的返回箭头。

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

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

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

感谢您的建议!

【问题讨论】:

【参考方案1】:

试试这个,

Navigator.of(context).pop();

  Navigator.pop(context);

【讨论】:

以上是关于Flutter Page Navigation:后退按钮与 AppBar 的后退箭头具有相同的行为的主要内容,如果未能解决你的问题,请参考以下文章

WPF中使用Navigation切换Page时,如何实现渐变或者翻转动画?

Flutter:Hero 小部件、Navigation 2.0 和 Provider 不能一起正常工作

Flutter 无法运行,get_navigation & 主题错误

Umbraco-The Navigation Menu And A Parent Page with Infinite Children

Flutter:在 Navigation.pop 上刷新父小部件

[Flutter] Router Navigation