Android RotateAnimation重叠

时间:2013-03-05 16:31:22

标签: android image-rotation

在Android工作了几天,我试图通过按下按钮旋转箭头。使用RotateAnimation和:

setFillAfter(true);

箭头保持在应有的最后位置。 但是当我再次按下按钮时箭头是从初始位置开始旋转,但是最后一次动画调用还有“前一个”箭头,最后与“新”箭头重叠。所以我想我需要以某种方式重置/清除setFillAfter但我找不到方法。

我的代码是这样的:

//Animation start
float Xaxis=0.835366f;
float Yaxis=0.676692f;
RotateAnimation rotateAnimation1 = new RotateAnimation(0, 180,
    Animation.RELATIVE_TO_SELF, Xaxis,Animation.RELATIVE_TO_SELF, Yaxis);
rotateAnimation1.setInterpolator(new LinearInterpolator());
rotateAnimation1.setDuration(2500);
rotateAnimation1.setRepeatCount(0);
image.startAnimation(rotateAnimation1);
rotateAnimation1.setAnimationListener(this);

@Override
public void onAnimationEnd(Animation animation) {
    animation.setFillAfter(true);
}

任何想法都会有用.. 我尝试过invalidate,clearAnimation to image,将fillafter设置为false,重置动画但仍然相同。

1 个答案:

答案 0 :(得分:0)

它是固定的,模拟器配置了共享GPU并且运行完美。快速且没有任何剩余的先前动画。