HarmonyOS LazyForEach中listItem添加动画效果

在List 中,LazyForEach 里面的ListItem 在刷新的时候无法做动画嘛?

同样一个动画,单独写就没有问题,但是放到List ->LazyForEach->ListItem 中没有任何动画效果,直接从0到1了

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

可以参考自定义动画属性

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-custom-attribute-animation-V5

参考demo:

@Entry
@Component
struct MyComponent {
  @State private materialsDataSource: FilterItemDataSource = new FilterItemDataSource()
  private dataOrign: MaterialWrap[] = []
  @State widths:number = 10
  aboutToAppear() {
    for (let i = 0; i <= 2; i++) {
      this.dataOrign.push(new MaterialWrap(10))
    }
    this.materialsDataSource.filterDataItems = this.dataOrign
    this.materialsDataSource.notifyDataReload()
  }
  build() {
    Column() {
      List({ space: 3 }) {
        LazyForEach(this.materialsDataSource, (item: MaterialWrap) => {
          ListItem() {
            Button("button").animatableFontSize(item.size)
              .animation({ duration: 1000, curve: Curve.Linear })
          }
          .onClick(() => {
            item.size = item.size == 10 ? 20 : 10;
          })
        }, (item: MaterialWrap) => item.size.toString())
      }.cachedCount(5)
    }
  }
}
@AnimatableExtend(Button)
function animatableFontSize(size: number) {
  .fontSize(size)
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS grid拖拽效果如何添加动画
30浏览 • 1回复 待解决
LazyForEach如何添加数据?
2027浏览 • 1回复 待解决
在 ArkUl如何实现动画效果?
165浏览 • 0回复 待解决
鸿蒙怎么实现动画翻转效果
10534浏览 • 2回复 待解决
HarmonyOS 列表动画效果
10浏览 • 1回复 待解决
HarmonyOS 动画效果+手势
67浏览 • 1回复 待解决
HarmonyOS List动画效果
27浏览 • 1回复 待解决
HarmonyOS .scale没有动画效果
80浏览 • 1回复 待解决
HarmonyOS 旋转动画效果
38浏览 • 1回复 待解决
HarmonyOS 动画效果实现
38浏览 • 1回复 待解决
属性动画如何实现宽高动画效果
2070浏览 • 1回复 待解决
如何实现动画转场效果
873浏览 • 1回复 待解决
HarmonyOS 实现按钮长按动画效果
86浏览 • 1回复 待解决
HarmonyOS grid拖拽和增删动画效果
32浏览 • 1回复 待解决