androdi-dev
提供: 個人的記録
目次
https://developer.android.com/guide/navigation/navigation-getting-started
- gonbeの理解
- androidxで追加されたフラグメントの遷移をサポートするモジュール
依存関係に追加が必要なもの
モジュール
- androidx.navigation:navigation-fragment
- androidx.navigation:navigation-ui
- androidx.navigation:navigation-dynamic-features-fragment
- androidx.navigation:navigation-compose
kotlinサポート
kotlinを使わないなら不要
- androidx.navigation:navigation-fragment-ktx
- androidx.navigation:navigation-ui-ktx
テストフレームワーク
- androidx.navigation:navigation-testing
ナビゲーショングラフ
- gonbeの理解
- フラグメントの遷移元、遷移先、遷移を開始するアクションを定義したリソース
ナビゲーショングラフの作成
- android studioでのナビゲーショングラフ追加方法
- リソースメニューから res を選択。コンテキストメニューから android resource ファイルを追加する。
- FileName は任意の値を指定する。
- resource type に Navigation を選択する。
- リソースを作成する。
- 上記手順で res/navigation ディレクトリが作成され、その中に[ファイル名].xml ができる
- Navigation コンポーネントの核になるコンテナとして NavHost をアクティビティに追加する必要がある。
- NavHostのデフォルト実装は NavHostFragment なので、NavHostFragmentをアクティビティに追加する。
- NavHostFragmentをアクティビティに追加すると、使用するナビゲーショングラフを聞かれるので作っておいたナビゲーショングラフを選択する。
- activity_main.xmlには以下のようなフラグメントが追加される
<androidx.fragment.app.FragmentContainerView android:id="@+id/nav_host" android:name="androidx.navigation.fragment.NavHostFragment" android:layout_width="0dp" android:layout_height="0dp" app:defaultNavHost="true" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent" app:navGraph="@navigation/nav_graph" /> </pr>