我在组件上用了 motionBlur,但是点击后看不到模糊效果,只有缩放动画执行了,代码大概是这样:
Image(...).width(this.width)
.onClick(() => {
this.radius = 0.5;
this.width = 100;
})
.animation({ duration: 500 })
.motionBlur({ radius: this.radius, anchor: { x: 0.5, y: 0.5 } })
是不是我漏了什么?需要 onFinish 设置 radius 吗?
是的,你少了一个关键步骤:
onFinish 回调中要把 radius 置为 0,否则不会触发清晰回弹的视觉效果。
同时确认:
motionBlur() 要放在有动画变化的组件上;
radius 是动态绑定的 @State 状态,能实时更新。