ユーザーがアプリのメイン画面に戻る方法を簡単に見つけられるようにする必要があります。これを行うには、メイン アクティビティ以外のすべてのアクティビティに対して、アプリバーに上方向ボタン を表示します。ユーザーが「上」ボタンを選択すると、アプリは親アクティビティに移動します。
このページでは、Jetpack Navigation コンポーネントを使用して、アプリバーに「上」ボタンを追加する方法について説明します。詳細については、NavigationUI を使用して UI コンポーネントを更新するをご覧ください。
アプリバーを設定する
AppBarConfiguration
を使用してアプリバーを構成します。AppBarConfiguration
から、アプリバーに最上位のデスティネーションを通知できます。ナビゲーション ドロワーが設定されている場合、ドロワー メニュー アイコン がトップレベル デスティネーションのアプリバーに表示されます。ナビゲーション ドロワーが構成されていない場合、トップレベル デスティネーションではナビゲーション ボタンは非表示になります。
どちらの場合も、他のすべてのデスティネーションに「上へ」ボタンが表示されます。上矢印ボタンを押すと navigateUp()
が呼び出されます。
次の例は、AppBarConfiguration
を使用してアプリバーを構成する方法を示しています。
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { ... val navController = findNavController(R.id.nav_host_fragment_activity_main) val appBarConfiguration = AppBarConfiguration( setOf( R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications ) ) binding.myToolbar.setupWithNavController(navController, appBarConfiguration) }
Java
@Override protected void onCreate(Bundle savedInstanceState) { ... NavController navController = Navigation.findNavController(this, R.id.nav_host_fragment_activity_main); AppBarConfiguration appBarConfiguration = new AppBarConfiguration.Builder( R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications) .build(); NavigationUI.setupWithNavController(binding.myToolbar, navController, appBarConfiguration); }