Ajouter une action "Haut"

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

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 Mettre à jour les composants de l'interface utilisateur avec NavigationUI.

Configurer votre barre d'application

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

Dans les deux cas, le bouton "Haut" s'affiche sur toutes les autres destinations. Appuyez sur le bouton "Haut" pour appeler 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);
  }