Как сделать анимацию вращение по нажатию кнопки?

Я создал custom view и нарисовал колесо фортуны в onDraw().
Все отображается правильно, как я хотел.
Есть кнопка по нажатии которого колесо должен вращаться на определенный градус вокруг своей оси.

Подскажите пожалуйста, как реализовать эту анимацию?


Ответы (1 шт):

Автор решения: Sergei Buvaka

Создаете XML файл в папке res/anim:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator" >

    <rotate
        android:duration="2000"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:startOffset="0"
        android:toDegrees="360" />

</set>

Далее в коде:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    //some code

    final Animation animationRotateCenter = AnimationUtils.loadAnimation(
            this, R.anim.rotate_center);

    button.setOnClickListener(new Button.OnClickListener() {
        @Override
        public void onClick(View view) {
            yourView.startAnimation(animationRotateCenter);
        }
    });
}

А вообще анимировать что-либо можно по разному. Вот несколько статей на эту тему:

→ Ссылка