如何在不使用 animateItemPlacement() 的情况下对项目放置进行动画处理

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

我有一个复杂的撰写布局,我在单个惰性列中渲染不同的 UI 组件。因为如果不为子惰性列定义固定高度,我就无法执行嵌套惰性列,而我不想这样做。

其中一个子 UI 组件托管行(最多 3 行)。它基本上是一个列,当我获取数据时,我向其中添加三行,并且当我们获取数据时,行内容不断变化 我想实现类似 animateItemPlacement() 提供的功能,因为当添加新行时,它会为整个列表添加动画效果,但由于我没有使用惰性列,因此我无法实现此目的。尝试找到一种替代方法来实现这种没有惰性列范围的动画

android listview animation android-jetpack-compose
1个回答
0
投票

尝试在您的

modifier
 中使用此 
Column

animateContentSize
修改器可以动画显示尺寸变化。

Column(modifier = Modifier.animateContentSize()) {
  ...
}

注意:

animateContentSize
在修饰符链中的放置顺序很重要。为了获得流畅的动画效果,请确保将其放置在任何大小修饰符(例如
size
defaultMinSize
)之前,以确保
animateContentSize
将动画值更改报告给布局。

您也可以阅读此内置动画修改器

© www.soinside.com 2019 - 2024. All rights reserved.