Задняя навигация с видом снизу и компонентом навигации - PullRequest
0 голосов
/ 29 октября 2019

У меня есть нижняя навигационная панель с 3 точками входа (фрагменты A, B и C), и каждая из них может переходить к другим фрагментам (A-> D, B-> E, C-> F). Для навигации я использую компонент архитектуры навигации. Я хочу, чтобы, когда пользователь находился в режиме A, B или C и нажимал кнопку «Назад», приложение закрывалось. Если он находится в D, E или F, он должен перейти к A, B или C. соответственно.

Согласно документации, имеющей одинаковые идентификаторы в меню и на графике навигации, есть способ установить вид и компонент навигации. up.

Я знаю, что могу переопределить навигацию и обработать ее самостоятельно, чтобы достичь того, чего я хочу, или переопределить кнопку возврата. Но я хотел бы знать, есть ли способ достичь желаемого поведения без необходимости обрабатывать его вручную (в конце концов, в этом и заключается смысл использования компонента навигации). Есть ли способ сделать это?

Кроме того, что я хочу достичь желаемого поведения в дизайне материалов с Android? Насколько я понимаю, так оно и есть, но я не смог найти его в конструкторской документации материала. Я пробовал несколько приложений и вижу разные варианты поведения (твиттер, карты и gmail не выходят из приложения, а выполняют задачи или продолжают выполнять), поэтому я полагаю, что оба варианта поведения приемлемы.

1 Ответ

0 голосов
/ 30 октября 2019

Принципы навигации были специально созданы командами Material и Android UX в Google как способ, которым должны быть разработаны приложения, чтобы избежать путаницы в том, что будет делать кнопка "Назад":

Это [начальный] пункт назначения также является последним экраном, который видит пользователь, когда он возвращается в панель запуска после нажатия кнопки «Назад».

Это гарантирует, что пользователи знают, что кнопка «Назад» не будетвыгонять их из приложения, когда оно находится на любом другом экране вашего приложения. И наоборот, этот начальный пункт назначения служит для пользователя знаковым сообщением о том, что нажатие системной кнопки возврата приведет к возврату его обратно к средству запуска.

Так что совершенно очевидно, что при использовании NavigationUI помощники, что вы всегда будете выходить через начальный пункт назначения вашего графика (т. Е. Ваш экран A).

Навигация имеет отдельную концепцию, называемую пункты назначения верхнего уровня , котораяконтролирует только, отображается ли стрелка вверх на панели приложения. Это позволяет нескольким адресатам верхнего уровня (таким как ваши A, B и C) появляться на одном иерархическом уровне с точки зрения пользователя, в то же время соответствуя системному заднему принципу выхода через начальный адресат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...