「androdi-dev」の版間の差分
提供: 個人的記録
(同じ利用者による、間の6版が非表示) | |||
1行目: | 1行目: | ||
− | = | + | = NavigationUI = |
− | * 依存関係に追加が必要なもの | + | https://developer.android.com/guide/navigation/navigation-getting-started |
− | :* androidx.navigation:navigation-ui | + | |
+ | * 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 ができる | ||
+ | |||
+ | === NavHost の作成 === | ||
+ | * Navigation コンポーネントの核になるコンテナとして NavHost をアクティビティに追加する必要がある。 | ||
+ | * NavHostのデフォルト実装は NavHostFragment なので、NavHostFragmentをアクティビティに追加する。 | ||
+ | * NavHostFragmentをアクティビティに追加すると、使用するナビゲーショングラフを聞かれるので作っておいたナビゲーショングラフを選択する。 | ||
+ | * activity_main.xmlには以下のようなフラグメントが追加される | ||
+ | |||
+ | <pre> | ||
+ | <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" /> | ||
+ | </pre> |
2022年11月6日 (日) 19:27時点における最新版
目次
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" />