我有一个需要从屏幕1移到屏幕2的应用程序....现在,当用户按下“后退”按钮时..它应该显示一个对话框...如果用户按下“是”,则它必须退出。任何帮助?上层解决方案不起作用
答案 0 :(得分:0)
似乎您可以使用WillPopScope。您还需要传递一个回调函数,该函数将指示按下后退按钮时将发生的情况。 根据您的情况,您可以添加代码以显示AlertDialog,该代码将要求用户确认退出。
您只需将Scaffold包裹在WillPopScope中即可。
示例:
Widget build(BuildContext context) {
return WillPopScope(
child: /*Your scaffold widget*/
onWillPop: () {
return showDialog(
context: context,
barrierDismissible: false,
builder: (BuildContext context) {
return AlertDialog(
title: Text("Confirm Exit"),
content: Text("Are you sure you want to exit?"),
actions: <Widget>[
FlatButton(
child: Text("YES"),
onPressed: () {
SystemNavigator.pop();
},
),
FlatButton(
child: Text("NO"),
onPressed: () {
Navigator.of(context).pop();
},
)
],
);
}
);
return Future.value(true);
},