AlertDialog barrierDismissable无法正常工作?

时间:2020-08-16 15:06:27

标签: flutter flutter-alertdialog

我有一个带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
              },
            ),
          ],
        );
      },
    );
  }

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

1 个答案:

答案 0 :(得分:0)

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

以下链接中的原始答案 Flutter "showDialog" with Navigator.pop()