В этом документе описывается, как использование пунктов назначения диалогов может внести уникальные соображения относительно того, как вам нужно управлять своим стеком.
Обзор
Одно или несколько пунктов назначения диалога могут существовать только в верхней части задней стопки. Это связано с тем, что когда пользователь переходит к месту назначения, которое не является местом назначения диалога, NavController
автоматически извлекает все места назначения диалога из вершины стека. Это гарантирует, что текущий пункт назначения всегда будет полностью виден среди других пунктов назначения в заднем стеке.
Целями могут быть размещенные места назначения , места назначения действий или места назначения диалога .
Пример
Если задний стек состоит исключительно из размещенных пунктов назначения , которые заполняют узел навигации, а пользователь переходит к месту назначения диалога, то задний стек может выглядеть примерно так, как показано на рисунке 2:
Если затем пользователь переходит к другому пункту назначения диалога, он добавляется в начало стека, как показано на рисунке 3:
Если затем пользователь переходит к неплавающему пункту назначения, все пункты назначения диалога сначала извлекаются из верхней части стека, прежде чем переходить к новому пункту назначения, как показано на рисунке 4: