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); }