11

可能重复:
Android:动画位置在完成后重置

RotateAnimation用来旋转ImageView. 代码很简单:

this.button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Animation ani = new RotateAnimation(
                0, /* from degree*/
                30, /* to degree */
                Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
        ani.setDuration(1000);
        imageView.startAnimation(ani);
    }
});

你可以看到我想让 imageView 旋转 30 度。

它可以工作,但是当旋转完成时,图像会恢复到原始状态,旋转前的位置和度数相同。我想在最后一个动画位置修复 ImageView,即想修复倾斜 30 度的图像。如何解决?

4

2 回答 2

21

我只是找到一个解决方案:

ani.setFillAfter(true);

有用 :)

于 2012-08-28T09:41:26.140 回答
0

这是您在 Android 上使用动画时的正常方式。

你可以:

  • 开始一个没有持续时间的新动画,并在“无限”上重复属性,然后在里面旋转图像
  • 将旋转值手动放在动画的末尾(但如果我没记错的话,如果没有低于 Android 3.0 的特定动画,你就不能这样做)。
于 2012-08-28T09:23:56.147 回答