Android:围绕Y的第二次180度旋转镜像会反映图像

时间:2015-07-07 08:03:34

标签: android rotation imageview objectanimator

我试图让图像视图围绕它的Y轴旋转,类似于卡片翻转,但两侧应该有相同的图片。

要做到这一点,我在AnimationSet中使用ObjectAnimator(尽管当Y旋转是集合中的唯一动画时,以及当它与其他动画结合时)将其从0旋转到绕Y轴-180。这第一次工作正常。但是,如果我再次单击它,图像将突然被镜像,然后围绕Y轴旋转180度。

在制作动画之前,图像是如何被镜像/反转的?我目前的想法是它保留了一些属性,所以当它首先从0变为-180时,下次它将从-180跳到0,然后再次从0旋转到-180。我不确定这是不是原因,但如果是,我该怎样解决这个问题并防止它发生?

谢谢!

2 个答案:

答案 0 :(得分:0)

如果我理解你,这是因为ObjectAnimator实际上并不实际应用最终值。您必须使用AnimationListeneronAnimationEnd来保存视图的状态。

答案 1 :(得分:0)

尝试在动画完成后将Y旋转重置为零。

    animation.addListener(new AnimatorListenerAdapter() {
        @Override public void onAnimationEnd(Animator animation) {
            super.onAnimationEnd(animation);
            view.setRotationY(0);
        }
    });