#dart #flutter #flutter-navigation
#dart #трепетать #flutter-навигация
Вопрос:
Я пытаюсь создать приложение с Flutter, в котором используются нижние панели навигации. Я хочу сохранить мои предыдущие посещенные экраны в навигационном стеке, как в приложениях Youtube и Instagram. Например, предположим, что у меня есть 3 разные нижние панели навигации (A, B и C). После нажатия на вкладки A, B и C соответственно, я хочу вернуться к C, B и A соответственно.
Это моя главная цель, но у меня есть и второстепенная цель, если ее возможно реализовать.
В Instagram и Youtube, если вы нажимаете вкладки в порядке A -> B -> C -> B -> C (теперь вы находитесь на вкладке C), а затем, когда вы начали нажимать кнопку «Назад», она возвращает вас к вкладкам C -> B -> A. В принципе, каждая вкладка может быть помещена один раз в навигационный стек. Если вы посещаете одну и ту же вкладку более одного раза, предыдущий экран той же вкладки удаляется из навигационного стека.
Я два дня искал решение этой проблемы, но не мог найти. Я даже протестировал приложение flutter-go, созданное разработчиками alibaba, когда я нажимаю кнопку «Назад», приложение просто закрывается.
Я был бы признателен за любую помощь в решении этой проблемы.
Комментарии:
1. У меня такая же идея. Вы нашли решение? Пожалуйста, поделитесь, если у вас есть.
Ответ №1:
Navigator.of(context).pushNamedAndRemoveUntil('/screenB', ModalRoute.withName('/screenA'))
;
попробуйте это на последнем фрагменте C