Les utilisateurs doivent pouvoir revenir facilement à l'écran principal de votre application. Pour ce faire, fournissez 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 "Retour", l'application accède à l'activité parente.
Cette page vous explique comment ajouter un bouton "Retour" à une barre d'application à l'aide du composant Navigation de Jetpack. Pour obtenir une explication plus détaillée, consultez Mettre à jour les composants de l'UI avec NavigationUI.
Configurer votre barre d'application
Configurez votre barre d'application à l'aide d'un AppBarConfiguration.
À partir de AppBarConfiguration, vous pouvez informer la barre d'application de vos destinations de premier niveau. Si le panneau de navigation est configuré, l'icône de menu du panneau
s'affiche sur la barre d'application dans les destinations de premier niveau. Si le panneau de navigation n'est pas configuré, le bouton de navigation est masqué sur les destinations de premier 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); }