如何在Android Jetpack Compose中对列表进行初始动画填充

5

我的当前Android Jetpack Compose项目包含许多列表和网格。

我想要通过动画来为我的应用程序增添生气,让初始的列表和网格更加生动。

我已经找到了有关在列表中插入、删除等项目的文档。

然而,我无法找到任何有关在首次显示列表或网格时进行动画化的详细信息。

是否可以在列表或网格首次填充时添加动画效果?

1个回答

1
如果你正在使用 LazyColumn,你可以尝试在 item{..} 范围内的组合中指定 animateItemPlacement Modifier 属性。
LazyColumn {
    items(...) {
        Box (
            modifier = Modifier.animateItemPlacement() 
        )
    }
 }

虽然这是实验性的,但您需要注释最近的@Composable函数作用域。

@OptIn(ExperimentalFoundationApi::class)
@Composable
fun MyComposableWithLazyColumn(…)

1
我没有意识到在列表/网格范围内必须“包装”每个项目,每个项目在添加到列表时水平“弹跳”应该足够容易。我只能用你的建议实现垂直动画。 - Hector
1
谢谢,但是我还没有对它进行实验,因为它是实验性API的一部分,我只是让它在我的代码中执行其默认功能。不过,如果你看一下它,它有一个“animationSpec”参数,你可以根据自己的需要进行调整。 - z.g.y

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接