Я использую библиотеку voyager для навигации в своем приложении для Android.
https://voyager.adriel.cafe/navigation/
Но у меня возникла проблема с переходом с экрана входа на главный экран.
login screen ==> home screen
Однако после того, как пользователь вошел в систему, экран входа в систему должен появиться, чтобы пользователь не мог вернуться к нему. Но при использовании системы с обратным нажатием она попытается снова открыть экран входа в систему.
Это мой LoginScreeRoute
object LoginScreenRoot : Screen {
@Composable
override fun Content() {
val loginViewModel = koinViewModel()
val navigator = LocalNavigator.currentOrThrow
LoginScreen(
loginState = loginViewModel.loginState,
onLoginAction = loginViewModel::loginAction,
onLoginSuccess = {
/** Navigate to the home screen */
Timber.d("onLoginSuccess")
navigator.popAll() // Try and pop the LoginScreen so we do go back to it
navigator.push(HomeScreenRoute)
},
onLoginFailure = {
/** Display message */
Timber.d("onLoginFailure")
},
onForgotPassword = {
/** Navigate to the home screen */
Timber.d("onForgotPassword")
navigator.push(ResetScreenRoute)
}
)
}
}
А это мой домашний экран
object HomeScreenRoute : Screen {
@Composable
override fun Content() {
val homeViewModel = koinViewModel()
val homeState = homeViewModel.homeState
val navigator = LocalNavigator.currentOrThrow
HomeScreen(
onForwardButtonClicked = {
navigator.push(SurveyStartScreenRoute)
},
homeState = homeState
)
}
}
И в моей основной активности
setContent {
BusbySurveyTheme {
val scope = rememberCoroutineScope()
if(mainViewModel.mainState.isLoggedIn) {
Navigator(screen = HomeScreenRoute)
}
else {
GradientBackground {
Navigator(screen = LoginScreenRoot)
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... n-should-p
При использовании навигации voyager для обработки нажатия кнопки «назад» после экрана входа в систему должен появиться э ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Показать/скрыть нижнюю панель вкладок при использовании Voyager в Compose Multiplatform
Anonymous » » в форуме Android - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Проблема: невозможно найти поле после нажатия кнопки входа в систему в Playwright.
Anonymous » » в форуме Python - 0 Ответы
- 21 Просмотры
-
Последнее сообщение Anonymous
-