Aggiungere un'azione Su

Gli utenti devono poter tornare facilmente alla schermata principale dell'app. Per farlo, fornisci un Up pulsante sulla barra delle app per tutte le attività tranne quella principale. Quando l'utente seleziona il pulsante Su, l'app passa alla l'attività del genitore.

Questa pagina mostra come aggiungere un pulsante Su alla barra di un'app utilizzando il componente Navigazione Jetpack. Per una spiegazione più dettagliata, vedi Aggiorna i componenti dell'interfaccia utente con NavigationUI.

Configura la barra delle app

Configura la barra delle app utilizzando un AppBarConfiguration. Da AppBarConfiguration, puoi impostare la barra delle app delle API di primo livello destinazioni. Se il riquadro di navigazione a scomparsa è configurato, l'icona del menu a scomparsa viene mostrato nell'app barra di ricerca nelle destinazioni di primo livello. Se il riquadro di navigazione a scomparsa non è configurato, il pulsante di navigazione viene nascosti nelle destinazioni di primo livello.

In entrambi i casi, il pulsante Su viene visualizzato su tutte le altre destinazioni. Premere il pulsante Su per chiamare navigateUp().

L'esempio seguente mostra come configurare una barra delle app utilizzando 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);
  }