Как реализовать стек навигации, как в приложениях Youtube и Instagram? - PullRequest
3 голосов
/ 23 марта 2019

Я пытаюсь создать приложение с Flutter, которое использует Bottom Navigation Bars.Я хочу сохранить свои предыдущие посещенные экраны в стеке навигации, как в приложениях 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, когда я нажимаю кнопку «Назад», приложение только закрывается.

Буду признателен за любую помощь в решении этой проблемы.

Ответы [ 2 ]

0 голосов
/ 01 апреля 2019

Navigator.of(context).pushNamedAndRemoveUntil('/screenB', ModalRoute.withName('/screenA'));

попробуйте это на последнем фрагменте C

0 голосов
/ 23 марта 2019

Эта статья объясняет ваш вариант использования: Несколько навигаторов с BottomNavigationBar

...