Android: onClick() 中的动画视图

Android: animating view in onClick()

我有 ImageView,我想在用户单击它时为其设置动画。

所以我得到了这个简单的解决方案:

public void onClick(View v) {
            imageView.animate()
                    .rotationX(360).rotationY(360)
                    .setDuration(1000)
                    .setInterpolator(new LinearInterpolator());
        }

效果非常好,但只是第一次(第一次点击播放动画,之后动画根本不起作用)。

我该如何解决?

您需要在每个动画之前或之后重置旋转。例如:

imageView.animate()
    .rotationX(360).rotationY(360)
    .setDuration(1000)
    .setInterpolator(new LinearInterpolator())
    .setListener(new AnimatorListenerAdapter() {
        @Override
        public void onAnimationEnd(Animator animator) {
            imageView.setRotationX(0);
            imageView.setRotationY(0);
        }
    });