概要
AndroidArchitectureComponents Navigation備忘録その1
画面説明
RootGraph選択時
①Graph
Destination(行き先)一覧
ここに登録されたFragmentを遷移先としてActionを作ったりArgumentsを渡したりできる
ここにあるFragmentを親にしたNavigationがここから作れる?
※要検証
要は画面一覧
②Type
選択している要素のタイプ
主にRootGraph・Fragment・Actionがある
③ID
選択している要素のID
Actionを作る際に使われる(遷移先IDとして)
④Start Destination
このNavigationのエントリーポイント
最初に表示されるFragmentがセットされる
⑤Arguments
名前の通り渡す値
RootGraphにArgumentsをセットしたらどのFragmentからでも呼び出せる?(Navigationスコープ変数?)
※要検証
⑥Global Actions
〇〇Fragmentから〇〇Fragment、というActionではなく行き先のみのActionが作れる
どの画面からでも設定画面に行けるActionを作る等
⑦Deep Links
ここにトリガーのURLを入力してmanifestにnavigationをセットするだけでディープリンクできる(すごい)
Fragment選択時
RootGraph選択時とセットできるものはほぼ同じ、セットできるもののスコープが違うくらい
①Label
ラベルをつけれる
Action選択時
①ID
このIDを使ってコード(Java,Kotlin)からActionを呼び出して画面遷移ができる
初期設定だと〇〇Fragment_to_〇〇Fragment
②Destination
どの画面へ遷移するか、行き先
③Transitions
アニメーションの設定、いつもTransactionで設定していたみたいにanimリソースを使って設定可能
④Argument Default Values
遷移先Fragmentに渡したい値の型と名前を設定する(safeargsというプラグインを使用して安全に値を渡せる)
コードからnavigateを呼び出す時にBundleで渡せる
⑤Pop Behavior
Stackを設定バックボタンを押した時に遷移するFragmentを設定できる
Inclusiveにチェックを入れると戻る時に該当のFragmentをスキップできる
例:スプラッシュ画面からメイン画面に遷移した後バックボタンを押してスプラッシュ画面に戻れてしまうといけないのでInclusiveにチェックを入れて戻るではスプラッシュ画面を表示しないようにする
⑥Launch Options
遷移先のFragmentの振る舞いの設定
SingleTopは遷移先のFragmentをシングルトンにしてくれる?
参考URL:https://www.yudiz.com/a-trip-to-androids-future-navigation-architecture-component/
※要検証