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

Android 旋转后ImageView将重置为原始状态?,android,rotation,Android,Rotation,可能重复: 我正在使用RotateAnimation旋转ImageView。代码很简单: this.button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Animation ani = new RotateAnimation( 0, /* from degree*/

可能重复:

我正在使用
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);
    }
});
你可以看到我想要图像视图旋转30度

它可以工作,但旋转完成后,图像会回到原始状态,即旋转前的相同位置和角度。 我想将ImageView固定在最后一个动画位置,即要固定倾斜30度的图像。
如何修复它?

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

你可以:

  • 开始一个没有持续时间的新动画,并在“无限”上重复属性,然后在其中旋转图像
  • 将旋转值手动放置在动画的末尾(但如果我没说错的话,在Android 3.0以下没有特定动画的情况下,你就不能这样做)

我刚刚找到了一个解决方案:

ani.setFillAfter(true);
有效:)