HarmonyOS使用属性动画改变List组件内item的高度,其内容高度会突变

布局示意如下:

List(){  
Item1...  
Item2...  
Item3...  
Item4().height('高度动态变化').animation()...  
Item5...  
}

改变item4的高度后,item5的位置立即发生了改变。而不是随动画平滑改变。对应的,点击“收起”按钮后,红色区域是随item4高度平滑减小的。点击“展开”按钮后,List的内容高度立即增加了(即红色区域立即变大),理解应该是随着item4高度的增长,红色区域随之增长才对。

HarmonyOS
2024-10-12 09:31:18
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

可以采用循环函数改变高度(代码如下),替代animation属性。

setTimeout(() => {  
  let id = setInterval(() => {  
    if (this.itemHeight >= 200) {  
      clearInterval(id);  
      return;  
    }  
    this.itemHeight += 1;  
  }, 10)  
}, 1000)
分享
微博
QQ
微信
回复
2024-10-12 16:22:34
相关问题
HarmonyOS Swiper里面的item高度自动刷新
339浏览 • 1回复 待解决
listadd跟remove item入场、出场动画
1084浏览 • 1回复 待解决
HarmonyOS Web组件高度问题
160浏览 • 1回复 待解决
HarmonyOS 页面组件转场动画
229浏览 • 1回复 待解决
list-item 根据boolean属性 动态设置class
4749浏览 • 1回复 待解决