Добавьте действие «Вверх»

Пользователям нужен простой способ вернуться к основному экрану вашего приложения. Для этого предоставьте кнопку На панели приложений для всех действий, кроме основного. Когда пользователь выбирает кнопку UP, приложение перемещается в родительскую деятельность.

На этой странице показано, как добавить кнопку вверх в панель приложений, используя навигационный компонент JetPack. Более подробное объяснение см. Обновление компонентов пользовательского интерфейса с помощью NavigationUI .

Настройка панели приложений

Настройте панель приложений с помощью AppBarConfiguration . Из AppBarConfiguration вы можете проинформировать панель приложений о ваших направлениях высшего уровня. Если навигационный ящик настроен, значок меню ящика Отображается на панели приложений на направлениях верхнего уровня. Если навигационный ящик не настроен, кнопка навигации скрыта на направлениях верхнего уровня.

В обоих случаях кнопка UP отображается на всех других направлениях. Нажав кнопку вверх вызовы navigateUp() .

В следующем примере показано, как настроить панель приложений с помощью AppBarConfiguration :

Котлин

  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)
  }
  

Ява

  @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);
  }