Dodaj działanie

Użytkownicy potrzebują łatwego sposobu powrotu do ekranu głównego aplikacji. Aby to zrobić, umieść przycisk góra na pasku aplikacji w przypadku wszystkich aktywności oprócz głównej. Gdy użytkownik kliknie przycisk w górę, aplikacja przejdzie do aktywności nadrzędnej.

Na tej stronie dowiesz się, jak dodać przycisk W górę do paska aplikacji za pomocą komponentu Nawigacja w Jetpack. Więcej informacji znajdziesz w artykule Aktualizowanie komponentów interfejsu za pomocą nawigacji.

Skonfiguruj pasek aplikacji

Skonfiguruj pasek aplikacji za pomocą AppBarConfiguration. AppBarConfiguration może informować na pasku aplikacji o miejscach docelowych najwyższego poziomu. Jeśli panel nawigacji jest skonfigurowany, w miejscach docelowych najwyższego poziomu na pasku aplikacji wyświetli się ikona menu panelu . Jeśli szuflada nawigacji nie jest skonfigurowana, w miejscach docelowych najwyższego poziomu przycisk nawigacji jest ukryty.

W obu przypadkach przy wszystkich innych miejscach docelowych wyświetlany jest przycisk w górę. Naciśnięcie przycisku w górę wywołuje połączenie navigateUp().

Ten przykład pokazuje, jak skonfigurować pasek aplikacji za pomocą 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);
  }