请教下,这两种动画写法为何第二种的执行不符合预期?
发布于 6 年前 作者 gang15 2538 次浏览 来自 问答

没加透明度时动画是符合预期的:

this.animation.scale(2, 2).step()
this.animation.translate(50).step()
this.animation.translate(0, 100).step()

加了透明度之后,第二行定义的动画就没有执行了,直接执行了第三行动画:

this.animation.opacity(0).scale(2, 2).step()
this.animation.opacity(1).translate(50).step()
this.animation.translate(0, 100).step()

从执行的效果上看,好像第二行和第三行定义的动画合并了(透明度重新变成1),但是第二行代码定义的50偏移量并没用应用上,请问这是什么原因造成的?该如何写才符合预期?

第二种写法预期的效果是:

三组动画,第一组先把view透明度变成0,并放大2倍,执行完之后,把透明度变成1,同时X轴向右移动50px,执行完成第二组动画之后,把view的Y轴向下移动100px

实际执行的效果是view并没有向右移动50px

1 回复

我也遇到了这个问题

回到顶部