如何在按下后退按钮时退出应用程序?

时间:2019-01-24 06:31:40

标签: dart flutter

我有一个需要从屏幕1移到屏幕2的应用程序....现在,当用户按下“后退”按钮时..它应该显示一个对话框...如果用户按下“是”,则它必须退出。任何帮助?上层解决方案不起作用

1 个答案:

答案 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);
  },