【Flutter/Dart⑦】画面遷移について

さあ今回は”インタラクティブなWidget”の使い方について学んでいこう!!

前回までは”インタラクティブなWidget”についてまとめてきました👇

画面遷移はアプリ開発でも必ず出てくる必須の実装スキルになります、ここで基本的な部分は学びきってしまおう!

ではさっそくやっていきます✊

画面遷移(Screen transition)

👇画面遷移の実装例です

TabBar

👇 TabBarを使った実装例です

Drawer

👇 Drawerを使った実装例です

BottomNavigationBar(画面切り替え)

👇 BottomNavigationBarを使った実装例です

BottomNavigationBar(画面遷移)

✅BottomNavigationBarのタッチと共に画面遷移を実装するには”PageView“と”PageController“を使う
✅ ButtonNavigationBarはアイコンを4つ以上設定するとButtonNavigationBarType.shiftingがデフォルトで割り当てられるため、UIを変更したくない場合はButtonNavigationBarType.fixedを指定する

👇 BottomNavigationBarを使った実装例です(画面遷移ver)

SliverAppBar

✅ 画面のスクロールに応じてヘッダー要素を縮小できるウィジェット
✅「SliverAppBar」の一覧要素には、リストとグリッドの2種類ある

👇SliverBarを使った実装例です

画面遷移の実装を整理する

✅ Flutterでの画面遷移の実装はNavigatorを使う
✅ 画面遷移の実装では以下の構造を頭に入れといてメソッドの選択をしていくと⭕️

矢印→画面の遷移方向、ボックス→画面、緑→画面遷移イベントオレンジ→Navigatorメソッド

✅ スプラッシュ画面→ログイン画面→ホームページ画面の遷移は、基本的に一方通行で戻る必要がないので、pushReplacementを使用する
✅ 遷移すると前画面が遷移後の画面に置き換わるので、元の画面に戻る必要がない時に使用する
✅ ホーム画面前のログイン画面には戻れないようになるため、ログイン後はホーム画面が画面スタックのルート画面となる

✅ ホーム画面から他のページに自由に行き来(遷移)できるようにするためには次の画面遷移にはpush、元の画面に戻るときはpopを使用する
✅ Flutterではpushで遷移すると戻るボタンや指でのスライドで元画面に遷移することが可能

✅ popメソッドでスタックした画面を全てクリアして指定した画面まで戻りたい場合は、popUntilを使用する
✅ 第二引数のModalRoute.withNameメソッドに、遷移したい(Popを止めたい)urlを渡す

✅ ログインボタンや登録ボタンがタップされた時の確認でダイアログを表示したい場合にはshowDialogメソッドを使う
✅ ダイアログを閉じる場合にはonPressedメソッドでNavigator.popを呼んであげます

✅ ログアウトなど、今までスタックしていた全ての画面を破棄してスプラッシュ画面に画面遷移したい時はpushAndRemoveUntilを使用する
✅ 第二引数のpredicateをfalseにすることでスタックは全て消される

“画面遷移について”は以上になります、いかがだったでしょうか?


【Flutter/Dart④~⑦】で様々なウィジェットを見てきましたが、これはあくまで一例でUIを作るウィジェットは本当に数多く存在します。
FlutterではサンプルUIを提供していて、そのコードを確認することができます。自分のイメージするUIを作る時アイデアや、アプリ開発のヒントが欲しい時にかなり参考になるので、見てみて下さい👇
https://flutter.github.io/samples/#

次回は”インタラクティブなWidget”について学習していきたいと思います、楽しみにしてて下さいね!

今回はこの辺で、ばいばい👋