Content(dat = dat, uiState = uiState, onUiEvent = onUiEvent)
Даже при изменении uiState.singleId значение «dat» пересчитывается моделью представления, и все перекомпоновывается. Изменение контента должно анимироваться путем перемещения старого контента влево и добавления нового справа.
Я реализовал это следующим образом:
Код: Выделить всё
AnimatedContent(
targetState = uiState.singleId,
transitionSpec = {
if ( targetState > initialState )
slideInHorizontally { it } +fadeIn() togetherWith slideOutHorizontally { -it }
else
slideInHorizontally { -it } +fadeIn() togetherWith slideOutHorizontally { it }
},
label = "Fade Content",
) { it ->
Content(dat = dat, uiState = uiState, onUiEvent = onUiEvent) }
Дело в том, что анимация, похоже, работает так, как ожидалось.
Я ничего не упускаю об использовании целевого состояния в лямбда-выражении контента?>
Подробнее здесь: https://stackoverflow.com/questions/797 ... -necessary
Мобильная версия