ImageView будет reset в исходное состояние после вращения?

Возможный дубликат:
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);
    }
});

Вы можете увидеть, что изображениеView поворачивается на 30 градусов.

Он работает, но когда выполняется поворот, изображение возвращается в исходное состояние, то же положение и степень перед вращением. Я хочу исправить ImageView на последнем месте анимации. Я хочу исправить изображение, наклонное на 30 градусов. Как это исправить?

Ответ 1

Я просто нашел решение:

ani.setFillAfter(true);

Работает:)

Ответ 2

Это обычный способ использования анимации на Android.

Вы можете:

  • начать новую анимацию без длительности и повторить свойство на "бесконечном", и вы поворачиваете изображение внутри
  • Поместите значение вращения вручную в конце анимации (но вы не можете сделать это без определенной анимации ниже Android 3.0, если я не ошибаюсь).