如何更改JetPack撰写列表重新订购动画以淡入和淡出

问题描述 投票:0回答:1

我在JetPack撰写中有一个懒惰的列表,我正在使用AnimateItem来动画我的列表

LazyColumn {
    items(books, key = { it.id }) {
        Row(
            Modifier.animateItem(
                fadeInSpec = tween(durationMillis = 250),
                fadeOutSpec = tween(durationMillis = 100),
                placementSpec = spring(stiffness = Spring.StiffnessLow, dampingRatio = Spring.DampingRatioMediumBouncy)
            )
        ) {
            // ...
        }
    }
}

我知道位置PEC用于修改重新排序动画,但我无法修改它以支持淡入和淡出的动画,而不是我的元素上下移动可以指导我如何淡出列表中的元素重新订购时

kotlin android-jetpack-compose android-jetpack
1个回答
0
投票
不可能使用

Modifier.animateItem

所有动画都仅描述变化的characteristical,即如果有弹跳效应等,它会开始和结束的速度,如果它会进行线性或指数,依此类推。随着时间的流逝,您可以将其视为数学功能。 nove,它没有说出实际应用规格最终应用于的。更改可以应用于颜色,偏移,大小,不透明度等。可以根据AnimationsPec进行数值表示的所有内容。

here,

placementSpec在内部用于动画一个IntOffset

动画,从而产生动画

动作。您无法说出应该将其应用于图形层的Alpha通道的规范(这就是使用Fadeinspec和FadeOutSpec的地方),这将使the the the the the the the the可忽视。 结论:

Modifier.animateItem

仅允许您自定义动画规范,而不是最终应用该规范。您无法实现使用此API想要的目标。您需要创建自己的动画逻辑。

	
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.