有什么方法可以从 Android 后退按钮捕获 onBackPressed
事件?
我已经尝试过 WillPopScope
但我的 onWillPop
功能仅在我点击 Material 返回箭头按钮时触发
我这样说:
class MyView extends StatelessWidget{
Widget build(BuildContext context) {
return new WillPopScope(
onWillPop: () async {
debugPrint("Will pop");
return true;
},
child: ScopedModel<AppModel>(
model: new AppModel(),
child: new Scaffold(......
我需要抓住它,因为当按下后退按钮时我的屏幕表现不正确,它会弹出屏幕及其下方的屏幕,但不知何故,使用材料后退箭头按钮可以正常工作。
更新:
代码有效,我的问题不在此屏幕的弹出窗口中,而是在前一个屏幕上,我使用了 2 个 MaterialApp 小部件,不知何故它给出了一种奇怪的行为。
原文由 Rizky Andriawan 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是更新的代码
基本上, WillPopScope -> onWillPop 适用于未来的论点,我们可以说它 _什么时候发生_????所以一旦按下后退按钮 WillPopScope -> onWillPop 被激活并监听参数更具体的后退按钮事件来弹出它(替换它)大多数时候我使用它来显示 Future 类型的 DialogBox 因为它只会在需要时出现,同样可用于导航到新屏幕(希望如此)首选使用 MaterialPage 路由或命名路由技术进行导航,使用 WillPopScope 进行硬件后退按钮事件监听 (硬件 = Android/IOs) 显示退出弹出窗口
================================================
==========================================
On Back button Press 创建了一个名为 showExitPopup 的 dart 文件