web-dev-qa-db-ja.com

フラッターで外側をクリックしないようにAlertDialogを設定する方法

ユーザーを認証しているときに読み込みを表示するAlertDialogを作成し、完了したらポップします。

Widget loadingDialog = new AlertDialog(
content: new Row(
  children: <Widget>[
    new CircularProgressIndicator(),
    Padding(
      padding: const EdgeInsets.only(left: 8.0),
      child: new Text("Loading..."),
    ),
  ],
),);

ただし、ユーザーがダイアログの外側をタップすると、ダイアログが閉じます。したがって、認証が終了しても、何かがポップされ(私はスキャフォールだと思います)、アプリが壊れます。ダイアログを閉じることができないようにするにはどうすればよいですか?

showDialogにはbarrierDismissibleというプロパティがあります。この値をfalseに設定すると、外側をクリックしてもAlertDialogを閉じることができなくなります。

showDialog(
   ...
   barrierDismissible: false,
   ...
5
Vinoth Kumar