HarmonyOS 鸿蒙Next 动画播放的起始点设置该怎么设置
HarmonyOS 鸿蒙Next 动画播放的起始点设置该怎么设置
Image($r('app.media.bg_custom_scan_ray'))
.width(this.widthSize)
.height(this.heightSize)
.animation({
duration: 1200,
curve: Curve.Friction,
delay: 1000,
iterations: -1,
playMode: PlayMode.Alternate
})
.onAppear(() => {
this.heightSize = 280
})
高度变化的时候都是从图片的高度的一半向两边展开的动画,能不能让动画顶部向底部张开,动画我怎么能够让他停止,又让他重新启动
更多关于HarmonyOS 鸿蒙Next 动画播放的起始点设置该怎么设置的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
2 回复
设置iterations的属性值为-1,使动画无限循环执行,可以再通过一段duration为0的动画覆盖当前无限循环动画,使动画停止播放。 参考示例如下:
//执行动画元素
Row().width(150).height(150).backgroundColor('#ff00ff').scale(this.doScale)
...
//播放动画
Button('播放动画').onClick(() => {
//Alternate:动画在奇数次(1、3、5...)正向播放,在偶数次(2、4、6...)反向播放。
animateTo({ duration: 400, iterations: -1, playMode: PlayMode.Alternate,
}, () => {
this.doScale = { x: 0.8, y: 0.8 }
})
})
//停止播放
Button('停止播放').onClick(() => {
animateTo({ duration: 0, iterations: 1,
}, () => {
this.doScale = { x: 1, y: 1 }
})
})
animation默认展开方式就是这样的,没有属性可以修改。
可以通过.position可设置图片起始位置,使用.translate可以设置组件转场时的平移效果,设置起始位置和结束位置,设置在y轴上的平移。也可以自定义属性动画,通过自定义可动画属性接口和可动画数据类型,实现效果,这个需要您自行实现,参考文档如下:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-custom-attribute-animation-V5
更多关于HarmonyOS 鸿蒙Next 动画播放的起始点设置该怎么设置的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html