「androdi-dev」の版間の差分

提供: 個人的記録
移動: 案内検索
 
(同じ利用者による、間の5版が非表示)
1行目: 1行目:
= Navigation-UI =
+
= 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時点における最新版

NavigationUI

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でのナビゲーショングラフ追加方法
  1. リソースメニューから res を選択。コンテキストメニューから android resource ファイルを追加する。
  2. FileName は任意の値を指定する。
  3. resource type に Navigation を選択する。
  4. リソースを作成する。
  • 上記手順で res/navigation ディレクトリが作成され、その中に[ファイル名].xml ができる

NavHost の作成

  • 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" />