Когда я использую навигацию для перехода на вторую страницу, первая страница сразу исчезает.Android

Форум для тех, кто программирует под Android
Anonymous
Когда я использую навигацию для перехода на вторую страницу, первая страница сразу исчезает.

Сообщение Anonymous »

Я учусь использовать навигацию-создание, которая является функцией страницы входа в систему.
Но в процессе ее использования я столкнулся с проблемой, надеюсь, вы сможете мне помочь.
При переключении страниц происходит мерцание, что выглядит неправильно. По этой причине я добавил анимацию длительностью 3000 мс, чтобы это было легче увидеть.
это мой код:

Код: Выделить всё

@Serializable
object PageLogin

@Serializable
data class PageRegister(val isForgot: Boolean = false)

@Serializable
data class PageRegisterNext(val isForgot: Boolean = false)

class MyLoginActivity : ComponentActivity() {

val viewModel = MyLoginViewModel()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)

enableEdgeToEdge()

setContent {
UniScannerTheme {
val navController = rememberNavController()

enterTransition = {
fadeIn(
animationSpec = tween(
3000, easing = LinearEasing
)
) + slideIntoContainer(
animationSpec = tween(3000, easing = EaseIn),
towards = AnimatedContentTransitionScope.SlideDirection.Start
)
},
) {

composable
() {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
PageLogin(
navHostController = navController,
modifier = Modifier.padding(innerPadding),
viewModel = viewModel
)
}
}

composable() { backStackEntry ->

Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
PageRegister(
navHostController = navController,
modifier = Modifier.padding(innerPadding),
viewModel = viewModel,
isForgot = pageReg.isForgot,
)
}
}

composable(
) { backStackEntry ->

val pageReg: PageRegister = backStackEntry.toRoute()

Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
PageRegisterNext(
navHostController = navController,
modifier = Modifier.padding(innerPadding),
viewModel = viewModel,
isForgot = pageReg.isForgot,
)
}
}

}

}
}
}

}
когда я использую переход на вторую страницу

Код: Выделить всё

navHostController.navigate(PageRegister)
Первая страница исчезла вот так.
Изображение

Мне хотелось бы знать причину, почему это происходит.
Как видите, когда я перехожу на вторую страницу, первая страница больше не видна. Почему? Разве первая страница не должна оставаться на своем текущем месте? Когда я закрываю вторую страницу, первая страница загружается снова, чего я не понимаю.
Почему первая страница невидима или исчезла?

Подробнее здесь: https://stackoverflow.com/questions/795 ... t-page-dis

Вернуться в «Android»