首页 > 解决方案 > 如何检查警报对话框是否在颤振中打开

问题描述

我正在开发我的颤振应用程序,我想检查屏幕上是否打开了警报对话框。谁能告诉我该怎么做,基本上我想在警报对话框打开和关闭之前和之后做一些事情。

标签: dartflutter

解决方案


首先是您将自己显示对话框。因此,您可以使用一个bool值来跟踪它。

像这样。

bool _isDialogShowing = false;

void _showDialog() {
  _isDialogShowing = true; // set it `true` since dialog is being displayed
  showDialog(
    context: context,
    builder: (context) {
      return AlertDialog(
        title: Text("Title"),
        actions: <Widget>[
          FlatButton(
            child: Text("CANCEL"),
            onPressed: () {
              _isDialogShowing = false; // set it `false` since dialog is closed
              Navigator.of(context).pop();
            },
          )
        ],
      );
    },
  );
}

要收听后退按钮,您可以将根小部件包裹起来WillPopScope并相应地处理事情onWillPop()


推荐阅读