Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Ce document explique comment l'utilisation des destinations de boîte de dialogue peut engendrer des considérations uniques sur la manière dont vous devez gérer votre pile "Retour".
Présentation
Une ou plusieurs destinations de boîte de dialogue ne peuvent se trouver qu'en haut de la pile "Retour".
En effet, lorsque l'utilisateur accède à une destination qui n'est pas une destination de boîte de dialogue, NavController affiche automatiquement toutes les destinations de boîte de dialogue en haut de la pile. Cette approche garantit que la destination actuelle est toujours entièrement visible par rapport aux autres destinations de la pile "Retour".
Si la pile "Retour" se compose uniquement de destinations hébergées qui remplissent l'hôte de navigation et que l'utilisateur accède à une destination de boîte de dialogue, elle peut ressembler ensuite à la figure 2 :
Figure 2. Pile "Retour" avec une destination de boîte de dialogue sur le dessus.
Si l'utilisateur accède ensuite à une autre destination de boîte de dialogue, celle-ci est ajoutée en haut de la pile "Retour", comme illustré dans la figure 3 :
Figure 3. Pile "Retour" avec deux destinations Dialog sur le dessus.
Si l'utilisateur accède ensuite à une destination non flottante, toutes les destinations de boîte de dialogue sont d'abord supprimées du dessus de la pile "Retour" avant d'atteindre la nouvelle destination, comme illustré dans la figure 4 :
Figure 4. Les destinations Dialog sont supprimées de la pile, et la nouvelle destination est ajoutée.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/27 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/07/27 (UTC)."],[],[],null,["# Dialog destinations\n\nThis document outlines how the use of [dialog destinations](/guide/navigation/design) can introduce\nunique considerations for how you need to manage your back stack.\n\nOverview\n--------\n\nOne or more dialog destinations can only exist on the top of the back stack.\nThis is because when the user navigates to a destination that is not a dialog\ndestination, the `NavController` automatically pops all dialog destinations off\nthe top of the stack. This ensures that the current destination is always fully\nvisible over other destinations on the back stack.\n\nDestinations can be either [hosted destinations](/guide/navigation/design), [activity\ndestinations](/guide/navigation/design/activity-destinations), or [dialog destination](/guide/navigation/design/dialog-destinations).\n| **Note:** Dialog destinations implement the [`FloatingWindow`](/reference/androidx/navigation/FloatingWindow) interface. As such, they overlay other destinations on the back stack.\n\nExample\n-------\n\nIf the back stack consists solely of [hosted destinations](/guide/navigation/design)\nthat fill the navigation host, and the user navigates to a dialog destination,\nthen the back stack might look similar to figure 2:\n**Figure 2.** A back stack with a dialog destination on top.\n\nIf the user then navigates to another dialog destination, it is then added to\nthe top of the back stack, as shown in figure 3:\n**Figure 3.** A back stack with two `Dialog` destinations on top.\n\nIf the user then navigates to a non-floating destination, any dialog\ndestinations are first popped from the top of the back stack before navigating\nto the new destination, as shown in figure 4:\n**Figure 4.** The `Dialog` destinations are popped, and the new destination is added."]]