Когда я использую навигацию для перехода на вторую страницу, первая страница сразу исчезает.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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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