【问题标题】:How to exit the app on back button press? [duplicate]如何在按下后退按钮时退出应用程序? [复制]
【发布时间】:2019-06-17 19:56:11
【问题描述】:

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

【问题讨论】:

    标签: dart flutter


    【解决方案1】:

    您似乎可以使用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);
      },
    

    【讨论】:

    • 我不知道你的回答是否被接受。真的谢谢
    最近更新 更多