Destinos de caixa de diálogo

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.

Os destinos podem ser destinos hospedados, destinos de atividades ou destinos de caixas de diálogo.

Exemplo

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:

uma backstack com um destino de caixa de diálogo na parte de cima
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:

uma backstack com dois destinos de caixa de diálogo na parte de cima
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:

os destinos de caixa de diálogo são destacados, e o novo destino
            é adicionado
Figura 4. Os destinos Dialog são destacados, e o novo destino é adicionado.