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

问题描述 投票:0回答:2

我试图使一个imageview围绕它的Y轴旋转,类似于卡片翻转,但它应该在两侧都有相同的图片。

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

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

谢谢!

android rotation imageview objectanimator
2个回答
0
投票

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


0
投票

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

    animation.addListener(new AnimatorListenerAdapter() {
        @Override public void onAnimationEnd(Animator animation) {
            super.onAnimationEnd(animation);
            view.setRotationY(0);
        }
    });
© www.soinside.com 2019 - 2024. All rights reserved.