Компонент навигации с логином / регистрацией / домашним потоком - PullRequest
0 голосов
/ 06 февраля 2019

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

Другая идея заключается в том, чтобы использовать экран-заставку, чтобы там была логика, чтобы определить, уже вошел ли пользователь в систему.в, если это так, перейдите на главный экран, если не показывает экран (ы) входа / регистрации.

Моя другая проблема связана с одним действием.Мой домашний экран должен быть экраном с нижней навигацией.

Как вы связываете все это "правильным способом"?Нужно ли иметь отдельную навигационную диаграмму для начального вида, с нижней навигацией и множеством экранов, которые будут отображаться там?

Все примеры, которые я нашел, были очень простыми, а те, что у меня естьвидно, что на экране Splash, разделенном на Home и Login, есть очень простой фрагмент Home, который в моем случае был бы.более сложный с нижней навигацией.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 30 мая 2019

Один из способов сделать это - скрыть нижнюю панель навигации в имени пользователя и открыть домашнюю страницу при переходе на страницу входа, чтобы пользователь не смог вернуться к экрану заставки

1-Вы можете скрыть нижнюю панель навигации во фрагменте входа в систему следующим образом:

val toolbar = activity!!.findViewById<Toolbar>(R.id.toolbar)
val bottombar = activity!!.findViewById<BottomNavigationView>(R.id.bottomNavigationView)
        toolbar.visibility = View.GONE
        bottombar.visibility = View.GONE

2 - всплывающий фрагмент заставки при переходе на страницу входа

<action
            android:id="@+id/action_splashFragment_to_loginFragment"
            app:destination="@id/loginFragment"
            app:popUpTo="@+id/splashFragment"
            app:popUpToInclusive="true"/>

Надеюсь, это будет работать для вас

0 голосов
/ 07 февраля 2019

Простой пример =

Одиночное действие, Мультифрагмент с нижней панелью навигации и с Android-навигацией.

План:

  • Отображение заставки стаймер, как 3000 milis.
  • Конец milis. Перейдите пользователя на экран входа в систему, если он уже зарегистрирован (проверьте его на заставке). Перейдите на главный экран пользователя.
  • Теперь вы можете отобразить навигацию снизу.бар.Например, «Главная» «Новости»
  • Вы можете обрабатывать backPress в навигации.Ручка для дома (отключить всплеск)

Вот и все, ребята!

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