因此,当我的TranslateAnimation
经过10秒动画时,它的位置实际上并没有更新。
唯一一次更新是动画结束的时间。
那么我怎样才能让TranslateAnimation
在动画制作时更新其位置?
通过更新它的位置,我的意思是,如果我检查它的位置,IE;视图的顶部左下角和右下角坐标,如果已移动,我应该得到一组不同的数字。
但是在这种情况下,我得到了视图的原始位置,这不是我想要的。我想要它在动画期间移动的View AS的位置,但似乎没有办法做到这一点。
答案 0 :(得分:1)
您尝试使用ObjectAnimator了吗?以下代码实际上会移动您的视图而不仅仅是动画:
ObjectAnimator animation = ObjectAnimator.ofFloat(yourView, "translationX", 0.0f, yourHorizontalTranslationTarget);
ObjectAnimator animation = ObjectAnimator.ofFloat(yourView, "translationY", 0.0f, yourVerticalTranslationTarget);
请注意,yourHorizontalTranslationTarget
和yourVerticalTranslationTarget
是绝对值,以像素为单位,而不是百分比。
然后,您可以将它们加入AnimationSet,以便它们可以同时执行。