Android 动画无限旋转,不间断

Android animation rotate infinite, without pausing

我可以无限旋转我的图像。但我的问题是图像在达到 360º 时会立即暂停,然后再次开始旋转。即使我应用“linear_interpolator”,它也会发生同样的情况。 我想要做的是图像在下一轮开始时根本不会暂停。所以它必须在任何角度以相同的速度无限旋转。

Here is my - code. Thanks

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
    android:interpolator="@android:anim/linear_interpolator"
    android:duration="1400"
    android:pivotX="50%"
    android:pivotY="50%"
    android:fromDegrees="0"
    android:toDegrees="360"
    android:repeatMode="restart"
    android:repeatCount="infinite" />
</set>

How I call it on my code

    rotate= AnimationUtils.loadAnimation(context, R.anim.loop_rotate)
    binding.imgSecondLayout.startAnimation(rotate)

感谢帮助! :)

这是由于动画完成其持续时间后的小延迟(在您的情况下为 1400 毫秒)。您可以删除此延迟以获得流畅的动画效果。

删除 repeatMode 属性并添加此行:

android:startOffset="0"  //Delay in milliseconds before the animation runs

动画会很流畅,没有任何延迟

animation.setRepeatCount(Animation.INFINITE) 添加到调用动画的 java class 中。

我的最终代码在这里:

Animation animation = AnimationUtils.loadAnimation(getBaseContext(), R.anim.loop_rotate);
animation.setInterpolator(new LinearInterpolator());
animation.setRepeatCount(Animation.INFINITE);
animation.setDuration(1400);
youractivity.startAnimation(animation);