Ajouter une action "Haut"

Essayer Compose
Jetpack Compose est le kit d'outils d'UI recommandé pour Android. Découvrez comment ajouter des composants dans Compose.

Les utilisateurs doivent pouvoir revenir facilement à l'écran principal de votre application. Pour ce faire, fournissez un bouton Haut  dans la barre d'application pour toutes les activités, sauf la principale. Lorsque l'utilisateur sélectionne le bouton "Haut", l'application accède à l'activité parente.

Cette page explique comment ajouter un bouton "Haut" à une barre d'application à l'aide du composant Navigation de Jetpack. Pour une explication plus détaillée, consultez la section Mettre à jour les composants de l'UI avec NavigationUI.

Configurer votre barre d'application

Configurez votre barre d'application à l'aide d'un AppBarConfiguration. Dans AppBarConfiguration, vous pouvez indiquer à la barre d'application vos destinations de niveau supérieur. Si le panneau de navigation est configuré, l'icône du menu du panneau s'affiche dans la barre d'application des destinations de niveau supérieur. Si le panneau de navigation n'est pas configuré, le bouton de navigation est masqué sur les destinations de haut niveau.

Dans les deux cas, le bouton "Haut" s'affiche sur toutes les autres destinations. Appuyer sur le bouton "Haut" appelle navigateUp().

L'exemple suivant montre comment configurer une barre d'application à l'aide de 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);
  }