HarmonyOS LazyForEach中listItem添加动画效果

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

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

HarmonyOS
2024-12-25 08:20:50
浏览
收藏 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
微信
回复
2024-12-25 10:02:17
相关问题
HarmonyOS grid拖拽效果如何添加动画
311浏览 • 1回复 待解决
HarmonyOS Text添加动画效果与预期不符
328浏览 • 1回复 待解决
LazyForEach如何添加数据?
2156浏览 • 1回复 待解决
在 ArkUl如何实现动画效果?
250浏览 • 0回复 待解决
鸿蒙怎么实现动画翻转效果
10725浏览 • 2回复 待解决
HarmonyOS 列表动画效果
295浏览 • 1回复 待解决
HarmonyOS List动画效果
298浏览 • 1回复 待解决
HarmonyOS 动画效果+手势
290浏览 • 1回复 待解决
HarmonyOS .scale没有动画效果
211浏览 • 1回复 待解决
HarmonyOS 旋转动画效果
225浏览 • 1回复 待解决
HarmonyOS 动画效果实现
396浏览 • 1回复 待解决
属性动画如何实现宽高动画效果
2244浏览 • 1回复 待解决
如何实现动画转场效果
1164浏览 • 1回复 待解决
HarmonyOS 实现按钮长按动画效果
495浏览 • 1回复 待解决