Я использую RotateAnimation
для поворота изображения, которое я использую как пользовательский циклический спиннер в Android. Вот мой rotate_indefinitely.xml
файл, который я поместил в res/anim/
:
<?xml version="1.0" encoding="UTF-8"?>
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:duration="1200" />
Когда я применяю это к своему ImageView
, используя AndroidUtils.loadAnimation()
, это прекрасно работает!
spinner.startAnimation(
AnimationUtils.loadAnimation(activity, R.anim.rotate_indefinitely) );
Единственная проблема заключается в том, что вращение изображения кажется паузой в верхней части каждого цикла.
Другими словами, изображение поворачивается на 360 градусов, кратковременно останавливается, затем снова поворачивается на 360 градусов и т. Д.
Я подозреваю, что проблема в том, что анимация использует интерполятор по умолчанию, такой как android:iterpolator="@android:anim/accelerate_interpolator"
(AccelerateInterpolator
), но я не знаю, как сказать ему не интерполировать анимацию.
Как я могу отключить интерполяцию (если это действительно проблема), чтобы сделать цикл анимации плавным?