Как добавить анимацию при удалении элемента в HorizontalPager в Jetpack ComposeAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как добавить анимацию при удалении элемента в HorizontalPager в Jetpack Compose

Сообщение Anonymous »

У меня есть HorizontalPager в Compose, и пользователи могут удалить любой элемент Pager. Когда пользователь удаляет какой-либо элемент, я хочу, чтобы другие элементы перемещались на пустое место с анимацией.
На самом деле это анимация по умолчанию для RecylerView(ListAdapter) или даже LazyColumn использует animateItem для управления этим или с помощью устаревшее имя animateItemPlacement.
Мне интересно, как мне реализовать ту же концепцию в HorizontalPager?
@Composable
fun HomePageBanner(
bannerList: List,
modifier: Modifier = Modifier,
onButtonClicked: (index: Int) -> Unit = {},
onItemRemoved: (index: Int) -> Unit = {},
) {
val pageCount = bannerList.size
val pagerState = rememberPagerState(pageCount = { pageCount })
HorizontalPager(
state = pagerState,
modifier = modifier,
contentPadding = PaddingValues(start = 16.dp, end = 12.dp),
pageSpacing = 0.dp,
) { index ->
val banner = bannerList[index]
BannerCardItem(
bannerItem = banner,
modifier = Modifier.fillMaxWidth().padding(12.dp),
onButtonClicked = { onButtonClicked(index) },
onItemRemoved = {
// When this is called, the item will be removed
// and HomePageBanner will be called with the new list
onItemRemoved(index)
},
)
}
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... ck-compose
Ответить

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

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

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

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

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