Быстрая обратная навигация не сбрасывает пользовательскую анимациюAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Быстрая обратная навигация не сбрасывает пользовательскую анимацию

Сообщение Anonymous »

Что я пытаюсь сделать:
Я использую анимационную анимацию, чтобы добавить дополнительную slideOutpuretically выходная анимация в одну красную коробку в экране 1 , онтоп по умолчанию ancit amit Происходит:
Boolean Visiblebox1 по умолчанию true и управляет визиобличностью коробки. Кнопка нажимает SETSIBLEBOX1 в false и перемещается на Screen2 . Это работает так, как предполагалось, но когда PopbackStack () выполняется слишком быстро из Screen2 , поле на Screen1 не восстановлен, оно остается невидимым:
Причина:
При навигации на Screen2 , VisibleBox1 устанавливается на false, а Screen1 Запускает анимацию выхода Navhost.
До завершения, Screen2 уже стал виден, и кнопка, запускающая кнопка PopbackStack () может быть нажат. Это сбрасывает навигацию по выходу на Screen1 , но он не сбрасывает дополнительную анимацию коробки и которая остается невидимой, с VisibleBox1 все еще установлена ​​на false.
Вот мой код:

.

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

class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
val navController = rememberNavController()

NavHost(
modifier = Modifier,
navController = navController,
startDestination = "Screen1"
) {
composable("Screen1")
{
Screen1(navController)
}

composable("Screen2")
{
Screen2(navController)
}
}
}
}

@Composable
fun Screen1(navController: NavController) {

val lifecycleOwner = LocalLifecycleOwner.current
LaunchedEffect(Unit) {
Log.i("Screen1", "Created")
}

DisposableEffect(lifecycleOwner) {
onDispose {
Log.i("Screen1", "OnDispose")
}
}

var visibleBox1 by remember { mutableStateOf(true) }
Column(
modifier = Modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally
) {
Spacer(
modifier = Modifier
.fillMaxWidth()
.height(200.dp)
)
AnimatedVisibility(visible = visibleBox1, exit = slideOutVertically()) {
Box(
modifier = Modifier
.height(100.dp)
.fillMaxWidth()
.background(color = Color.Red)
) {

}
}

Button(onClick = {
visibleBox1 = false
Log.i("Screen1_Button", "OnClick,navigate to Screen2")
navController.navigate("Screen2")
}) {

Text("navigate to Screen2")
}
}
}

@Composable
fun Screen2(navController: NavController) {

LaunchedEffect(Unit) {
Log.i("Screen2", "Created")
}

Column(
modifier = Modifier.fillMaxSize(),
horizontalAlignment = Alignment.CenterHorizontally
) {
Text("I'm Screen2")
Button(onClick = {
navController.popBackStack()
Log.i("Screen2_Button", "Onclick,popBackStack()")
}) {
Text("pop back stack")

}
}
}

}
Что я могу сделать в этом случае, чтобы также восстановить коробку?

Подробнее здесь: https://stackoverflow.com/questions/795 ... -animation
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Почему моя параллельная быстрая сортировка OpenMP намного медленнее, чем последовательная быстрая сортировка?
    Гость » » в форуме C++
    0 Ответы
    179 Просмотры
    Последнее сообщение Гость
  • Почему моя параллельная быстрая сортировка OpenMP намного медленнее, чем последовательная быстрая сортировка?
    Гость » » в форуме C++
    0 Ответы
    123 Просмотры
    Последнее сообщение Гость
  • MomplyanimatedVectorpainter сбрасывает анимацию в начале
    Anonymous » » в форуме Android
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • MomplyanimatedVectorpainter сбрасывает анимацию в начале
    Anonymous » » в форуме Android
    0 Ответы
    6 Просмотры
    Последнее сообщение Anonymous
  • MomplyanimatedVectorpainter сбрасывает анимацию в начале
    Anonymous » » в форуме Android
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous

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