「androdi-dev」の版間の差分
提供: 個人的記録
| (同じ利用者による、間の5版が非表示) | |||
| 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" />