防止平移动画保持视图的原始位置



在x轴上使用值为50f的平移动画会将对象向右移动50像素:

val animatorX = ObjectAnimator.ofFloat(draggableImage1, "translationX", 50f)

但是在转换之后,动画仍然"记住"对象的原始位置,因此再次调用完全相同的方法根本不会移动对象,因为它已经向右设置了 50 像素。这是为了防止这种行为吗?意思是,动画完成后,物体的新位置会被设置为原来的位置,如果我们再调用动画平移,会从新位置重新计算出来吗?

这是因为您的代码不尊重当前视图位置。将其更改为draggableImage1.getX + 50f,它将起作用。

最新更新