颤振:我怎样才能抓住后退按钮按下退出我的应用程序
Posted
技术标签:
【中文标题】颤振:我怎样才能抓住后退按钮按下退出我的应用程序【英文标题】:Flutter: How can I catch a back button press to exit my app 【发布时间】:2020-08-31 14:48:50 【问题描述】:我正在开发一个应用程序,主要只是向用户显示来自网络服务的信息(由他们的管理员创建的信息)。在抽屉菜单上有 5 个屏幕来显示不同的信息。
用户登录后,我使用 Navigator 通过 pushReplacement 在屏幕之间移动。这意味着当前屏幕始终位于屏幕堆栈的底部。如果用户按下他们设备上的后退按钮,应用程序会立即存在。
我怎样才能捕捉到这一点,所以我可以询问用户是否要注销,然后显示登录屏幕?
感谢您的任何建议。
干杯,
保罗
【问题讨论】:
【参考方案1】:您可以使用WillPopScope
小部件并更改onWillPop
参数来执行此操作。我发布的示例与您想要的类似,因为它显示了一个警报对话框,可以确定接下来会发生什么。 FlatButton
onPressed
代码可能不是您正在寻找的代码,您必须根据您的实现来处理它 这是示例代码来自@AironTark 对this related question 的回答。
@override
Widget build(BuildContext context)
return WillPopScope(
child: Scaffold(...),
onWillPop: () => showDialog<bool>(
context: context,
builder: (c) => AlertDialog(
title: Text('Warning'),
content: Text('Do you really want to exit'),
actions: [
FlatButton(
child: Text('Yes'),
onPressed: () => Navigator.pop(c, true),
),
FlatButton(
child: Text('No'),
onPressed: () => Navigator.pop(c, false),
),
],
),
),
);
【讨论】:
完美。非常感谢帮忙。效果很好!祝你有美好的一天。以上是关于颤振:我怎样才能抓住后退按钮按下退出我的应用程序的主要内容,如果未能解决你的问题,请参考以下文章