Adicionar uma ação "Up"

Testar o Compose
O Jetpack Compose é o kit de ferramentas de interface recomendado para Android. Aprenda a adicionar componentes no Compose.

Os usuários precisam de uma maneira fácil de voltar à tela principal do app. Para fazer isso, forneça um botão Up na barra de apps para todas as atividades, exceto a principal. Quando o usuário seleciona o botão "Para cima", o app navega para a atividade mãe.

Esta página mostra como adicionar um botão "Up" a uma barra de apps usando o componente de navegação do Jetpack. Para uma explicação mais detalhada, consulte Atualizar componentes de IU com NavigationUI.

Configurar a barra de apps

Configure a barra de apps usando um AppBarConfiguration. No AppBarConfiguration, você pode informar à barra de apps os destinos de nível superior. Se a gaveta de navegação estiver configurada, o ícone do menu da gaveta vai aparecer na barra do app em destinos de nível superior. Se a gaveta de navegação não estiver configurada, o botão de navegação vai ficar oculto nos destinos de nível superior.

Em ambos os casos, o botão "Para cima" é exibido em todos os outros destinos. Pressionar o botão "Para cima" chama navigateUp().

O exemplo a seguir mostra como configurar uma barra de apps usando 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);
  }