我试图让图像视图围绕它的Y轴旋转,类似于卡片翻转,但两侧应该有相同的图片。
要做到这一点,我在AnimationSet中使用ObjectAnimator(尽管当Y旋转是集合中的唯一动画时,以及当它与其他动画结合时)将其从0旋转到绕Y轴-180。这第一次工作正常。但是,如果我再次单击它,图像将突然被镜像,然后围绕Y轴旋转180度。
在制作动画之前,图像是如何被镜像/反转的?我目前的想法是它保留了一些属性,所以当它首先从0变为-180时,下次它将从-180跳到0,然后再次从0旋转到-180。我不确定这是不是原因,但如果是,我该怎样解决这个问题并防止它发生?
谢谢!
答案 0 :(得分:0)
如果我理解你,这是因为ObjectAnimator
实际上并不实际应用最终值。您必须使用AnimationListener
和onAnimationEnd
来保存视图的状态。
答案 1 :(得分:0)
尝试在动画完成后将Y旋转重置为零。
animation.addListener(new AnimatorListenerAdapter() {
@Override public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
view.setRotationY(0);
}
});