Full-screen dialogとは?
通常はNavigator.push
を行うと右側から左側(←方向)に次のWidgetが入り込んでくるが、MaterialPageRoute
のfullscreenDialog
を使うと下側から上側(↑方向)に向かって次のWidgetが入り込んでくるようにできる。
See the Pen by popy1017 (@popy1017) on CodePen.
※ 戻る(閉じる)アイコンがおかしいのはおそらくCodePenの仕様です。
通常の画面遷移の場合は→スワイプで戻る操作を行えるが、full-screen dialog
の場合は左上のX
ボタンを押して画面を閉じる。(ScrollController
を使えばプルダウン操作で閉じることも可能)
Full-screen dialogの使い所
Material Designの説明によると、下記のような場合での使用が推奨されている。
→カレンダーにイベントを追加するときみたいな「ユーザーに多くの項目を設定してもらうオブジェクト」を登録させたい場合に使うと良さそう。
なんとなくプルダウンで閉じれたら便利だなあと思ってfull-screnn dialogにしたけど、上記基準にマッチしていないので変えよう。 また、「戻る」ではなく「閉じる」なので左上のアイコンは「X」で固定。