Cómo agregar una acción hacia arriba

Los usuarios necesitan una manera fácil de volver a la pantalla principal de tu app. Para ello, proporciona un botón Arriba en la barra de la app para todas las actividades, excepto la principal. Cuando el usuario selecciona el botón Arriba, la app navega a la actividad superior.

En esta página, se muestra cómo agregar un botón Arriba a una barra de la aplicación con el componente Navigation de Jetpack. Si deseas obtener una explicación más detallada, consulta Cómo actualizar los componentes de IU con NavigationUI.

Cómo configurar la barra de la app

Configura la barra de la app con un AppBarConfiguration. Desde AppBarConfiguration, puedes informar a la barra de la app tus destinos de nivel superior. Si está configurado el panel lateral de navegación, se mostrará el ícono del panel lateral en la barra de la app de los destinos de nivel superior. Si no está configurado el panel lateral de navegación, el botón de navegación se oculta en los destinos de nivel superior.

En ambos casos, el botón Up se muestra en los demás destinos. Cuando se presiona el botón Arriba, se llama a navigateUp().

En el siguiente ejemplo, se muestra cómo configurar una barra de la app con 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);
  }