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

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

 

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

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

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

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

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

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

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

【無料】生年月日を入力するだけ!

あなたの知らない「あなた」がわかる
無料診断ツール

あすコロ式
使命・性格タイプ診断

生年月日を入力するだけで144通りの性格パターンを診断。あなたの知らない「本当のあなた(生きる目的・使命)」と「偽りのあなた(無意識の思いグセ)」がわかります!

今すぐ無料で診断する ▶

TOP