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