【Kotlin】NavigationとFragmentで画面遷移を管理する【Android】

2020.09.02


どうも、むつたくです。
今回はAndroidで使ってみて実際に便利だったと思ったコントローラを紹介します。

 

紹介するコントローラはNavigationです。
SwiftでiOSアプリを開発しているときはStoryBoardがあり、視覚的に画面遷移がわかったので、他の人が作成したプロジェクトでも動きが容易に理解できました。そしてそれをAndroidでもやりたい場合、近しいことを実現するためにNavigationを使用します。

 

Navigationですが、ActivityやFragmentの画面遷移を視覚的に表示できますし、画面間の値渡しを型安全にできる等良いこと尽くしです。

開発環境

  • Mac Catalina 10.15.3
  • Android Studio 3.6.2
  • Xperia 5
  • Android OS 10

 

ここで注意ですが、Nagigationを使用するにあたり、Android Studioのバージョンが「3.3」以上が必要になります。

今回やること

  1. Navigationの特徴
  2. Fragmentの作成
  3. Navigationをプロジェクトに導入
  4. Navgation Graphの作成
  5. Navgation Graphへ適用
  6. 画面遷移の実装
  7. 補足

Navigation Controllerのスタートガイドは こちら になります。

Navagationの特徴

Navigationには以下の特徴があります。

 

  1. Fragmentで画面遷移を実装する場合は、FragmentTransactionの処理をNavigationが行ってくれる。
  2. 画面遷移の処理(進む、戻るアクション)を正しく処理できる
  3. 画面遷移の際に使用するアニメーションを簡単に設定できる
  4. Navigation Controllerを使用しているActivity・Fragmentは型安全に値のやりとりができる
  5. 画面遷移を視覚的に表現することができる
  6. 視覚的に表現できるEditorも簡単に作成できる

 

他にもいろいろ使用することによって恩恵はあります。詳細は公式の こちら で。

 

ただ、原則として以下のことにも注意して下さい。

  1. 起動する画面を必ず1つ決め固定し、戻るアクションでアプリ終了する時も起動画面を通過して終了する
  2. システムナビゲーションバーの「戻る(<)」ボタンと、アプリバーの「上へ」ボタンは同じ機能にする
  3. アプリバーにある「上へ」ボタンではアプリを終了させない

詳細は公式の こちら を参照して下さい。

 

Fragmentの作成

Fragmentを3つ作成します。Fragment名をそれぞれ「FirstFragment」、「SecondFragment」、「ThirdFragment」とします。

FirstFragment.xml

[cc_xml]


Top