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 Up botón en la barra de la aplicación para todas las actividades, excepto la principal. Cuando el usuario selecciona el botón Arriba, la aplicación navega a la actividad principal.

En esta página, se muestra cómo agregar un botón Arriba a una barra de la app con el componente Navigation de Jetpack. Para 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 el nivel superior destinos. Si el panel lateral de navegación está configurado, el ícono de menú del panel lateral Se muestra en la app en destinos de nivel superior. Si el panel lateral de navegación no está configurado, el botón de navegación se oculta en los destinos de nivel superior.

En ambos casos, el botón Up se muestra en todos los demás destinos. Si presionas el botón Arriba, se llama 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);
  }