0

我有一个带有 1 个按钮的 AlertDialog。虽然我已将 barrierDismissable 设置为 false,但在 iOS 中,当用户在框外单击时,对话框仍然可以关闭。

我可以接受:

  • 当用户在框外点击时,是否有检测和调用特定功能代码的方法?
  • 防止iOS中的barrierDismissable问题

我的代码如下:

Future<void> dialogNotifyUser(BuildContext context) {
    return showDialog<void>(
      context: context,
      barrierDismissible: false,
      builder: (BuildContext context) {
        return AlertDialog(
          title: Text('Title'),
          content: Text('Body'),
          actions: <Widget>[
            FlatButton(
              child: Text('Ok'),
              onPressed: () {
                Navigator.of(context).pop();
                ..... code
              },
            ),
          ],
        );
      },
    );
  }

这是一个常见问题吗,否则我可能会使用第 3 方库或自己编写警报小部件。

4

1 回答 1

0

尝试调用 Navigator.of(context).pop(); 而不是 Navigator.pop(context);

带有 Navigator.pop() 的 Flutter“showDialog”下方链接中的原始答案

于 2020-08-16T15:34:02.390 回答