我使用对象动画师,每当我使用onClick()开始另一个动画时,即使在我使用取消之后,它也变得越来越多并且组合了两个动画。 有人可以告诉我如何制作一个上下移动imageView的动画。然后onClick()将imageView从屏幕底部带到中间,然后上下移动它并重新启动onClick()。
我花了很多时间试图解决这个问题。我是android动画的新手。请帮忙。
答案 0 :(得分:0)
尝试这样的事情:
boolean isAnimating = false;
public void onClick() {
if (!isAnimating) {
isAnimating = true;
imageView.animate()
.withLayer()
.translationY(-100)
.withEndAction(new Runnable() {
@Override
public void run() {
imageView.animate()
.withLayer()
.translationY(100)
.withEndAction(new Runnable() {
@Override
public void run() {
isAnimating = false;
}
});
}
});
}
}
这里的要点是isAnimating
正在创建一个布尔锁,它不允许在动画仍在运行时重新启动动画。动画结束后,isAnimating
设置为false,允许再次运行动画。