Android Kotlin基礎講座 03.2: ナビゲーションパスを定義する
目次
- ページ1
- この講座について
- イントロダクション
- 前提知識
- この講座で学べること
- 概要
- 完全無料で通えるプログラミングスクール
- ページ2
- 2.アプリの概観
- ページ3
- タスク:プロジェクトにナビゲーションコンポーネントを追加する
- ページ4
- タスク:NavHostFragmentを作成する
- ページ5
- タスク:ナビゲーショングラフにフラグメントを追加する
- ページ6
- タスク:条件付きナビゲーションを追加する
- ページ7
- タスク:戻るボタンの遷移先を変更する
- ページ8
- タスク:アプリバーにアップボタンを追加する
- ページ9
- タスク:オプションメニューを追加する
- ページ10
- タスク:ナビゲーションドロワーを追加する
- 完成済みプロジェクト
- ページ11
- まとめ
- おすすめ書籍
ナビゲーションホストフラグメント(Navigation host fragment)はナビゲーショングラフ内のフラグメントのホストとしての役割を果たします。ナビゲーションホストフラグメントは通常、NavHostFragmentと名付けられます。
ユーザーがナビゲーショングラフに定義された行先間で移動するとき、ナビゲーションホストフラグメントが必要に応じてフラグメントを入れ替えます。また、ナビゲーションホストフラグメントには適切なフラグメントのバックスタックを作成し、管理する役割もあります。
このタスクでは、TitleFragmentをNavHostFragmentにするようにコードを修正していきます。
- res > layout > activity_main.xmlを開いて、Textタブにしてください。
- activity_main.xmlファイル内のTitleFragmentの名前をandroidx.navigation.fragment.avHostFragmentに変更してください。
- IDをmyNavHostFragmentに変更してください。
- ナビゲーションホストフラグメントはどのナビゲーショングラフリソースを使うのか知っている必要があります。そのために、app:navGraph属性を追加し、ナビゲーショングラフリソースである@navigation/navigationを値にセットしてください。
- app:defaultNavHost属性を追加し、値を”true”にしてください。これでナビゲーションホストがでデフォルトホストとなり、システムの戻るボタンを遮断します。
activity_main.xmlレイアウトファイルのfragmentのコードは以下のようになります。
<!-- The NavHostFragment within the activity_main layout -->
<fragment
android:id="@+id/myNavHostFragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:navGraph="@navigation/navigation"
app:defaultNavHost="true" />