Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Este documento descreve como o uso de destinos de caixa de diálogo pode apresentar
considerações únicas sobre como é preciso gerenciar a backstack.
Visão geral
Um ou mais destinos de caixas de diálogo só podem existir na parte de cima da backstack.
Isso ocorre porque, quando o usuário navega para um destino que não é uma caixa de
diálogo, o NavController retira automaticamente todos os destinos de caixa de diálogo
da parte superior da pilha. Isso garante que o destino atual fique sempre totalmente
visível sobre outros destinos na backstack.
Se a backstack consiste apenas em destinos hospedados
que preenchem o host de navegação e o usuário navega até um destino da caixa de diálogo,
ela pode ficar parecida com a mostrada na Figura 2:
Figura 2. Uma backstack com um destino de caixa de diálogo na parte de cima.
Se o usuário navegar para outro destino de caixa de diálogo, ele será adicionado
ao topo da backstack, conforme mostrado na Figura 3:
Figura 3. Uma backstack com dois destinos Dialog
na parte de cima.
Se o usuário navegar até um destino não flutuante, todos os destinos
de caixa de diálogo vão ser mostrados do topo da backstack antes de
navegarem para o novo destino, conforme mostrado na Figura 4:
Figura 4. Os destinos Dialog
são destacados, e o novo destino é adicionado.
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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."]]