[Flutter]ダイアログ(AlertDialog)を自動的に表示させる方法

このページには広告が含まれる場合があります。

 

Flutterでダイアログ(AlertDialog)は、AlertDialogのインスタンスを直接呼び出すのではなくて、通常は「showDialog」というメソッドを使って、builder属性内でAlertDialogのインスタンスを呼び出します。

しかし、showDialogメソッドは、ボタンを押した時(onPressed)など、ユーザー側から表示のアクションを起こしてもらう必要があるため、ダイアログを自動的に表示させたい場合は、仕方がないので、AlertDialogのインスタンスを直接呼び出すとします。

しかし、このやり方だとAlertDialogを直接呼び出した場合は、ダイアログ表示元の画面もろとも閉じてしまいます。

なぜなら、ダイアログを閉じる際には通常のWidgetを閉じる際に使うNavigator.popメソッドを使いますが、AlertDialogのインスタンスを直接呼び出す方法を使う方法の場合は、表示元の画面にAlertDialogが載っていない(pushされていない)からです。

ですので、ダイアログを自動的に表示させたい場合は、以下のようにbuildメソッド内でFuture.delayedを使って、一定時間後にshowDialogを起動させてやる方法を使うとうまくいきます。

(詳しくは、以下の動画で解説していますので、よろしければご覧下さい)

こんな記事も読まれています

人気No.1

前向きな気持ちになれる 占星術・タロットリーディング

あすコロ式・相談サロン 【ナビるやん】

人に言えない悩みから使命・運勢診断まで、あなたに寄り添いながら“ナビゲート”する、あすコロ人気No.1のオンライン相談サロン。占星術・心理学・タロットの叡智を活かし、普段認識していない「潜在意識」にアクセスしてあなたの気づいていない可能性を拓かせ、明日から前向きに歩めるようになる60分のリーディングセッション。

今すぐ詳細を見る(メルマガ登録で初回半額) ▶

TOP