我正在尝试使用对象动画制作一个使imageView向上和向下移动的动画,当我点击onClick()时它会飘走

时间:2015-12-08 21:02:11

标签: java android animation android-animation

我使用对象动画师,每当我使用onClick()开始另一个动画时,即使在我使用取消之后,它也变得越来越多并且组合了两个动画。 有人可以告诉我如何制作一个上下移动imageView的动画。然后onClick()将imageView从屏幕底部带到中间,然后上下移动它并重新启动onClick()。

我花了很多时间试图解决这个问题。我是android动画的新手。请帮忙。

1 个答案:

答案 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,允许再次运行动画。