ImageView将在旋转后重置为原始状态?

可能重复:
Android:animation位置完成后重置

我正在使用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在最后animation位置,即要修复倾斜30度的图像。 如何解决它?

Solutions Collecting From Web of "ImageView将在旋转后重置为原始状态?"

我只是find一个解决scheme:

 ani.setFillAfter(true); 

有用 :)

这是在Android上使用animation的正常方式。

您可以:

  • 开始一个新的animation,没有持续时间和“无限”重复属性,你旋转你的图像里面
  • 将旋转值手动放在animation的末尾(但如果没有错误,则无法在Android 3.0以下执行此操作)。