Flutter

[Flutter]showDialogでダイアログ外を触っても閉じないようにする方法

どうもこんにちは。

ダイアログ外を触っても閉じないようにする実装をする機会があったので、解決方法を記しておきます。

パラメータを追加するだけなのですぐ実装できます。

showDialogでダイアログ外を触っても閉じないようにする方法

barrierDismissible: false

というパラメータをshowDialogに追加するだけです。

以下に実装例を記すので参考に。

Future<AlertDialog> showXXXXDialog(BuildContext context) {
    return showDialog<AlertDialog>(
      context: context,
      barrierDismissible: false,
      builder: (BuildContext context) {
        return AlertDialog(
          content: const Text('ダイアログ外を押しても閉じないよ'),
          actions: <Widget>[
            FlatButton(
              child: const Text('閉じる'),
              onPressed: () {
                Navigator.pop(context);
              },
            ),
          ],
        );
      },
    );
  }

上記実装だとDialog内のFlatButtonを押したら閉じるようになっているので、ご注意を。

というわけで、終わり。

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です