我可以无限旋转我的图像。但我的问题是,图像在达到360º时会短暂停顿,然后再次开始旋转。即使我应用了“linear_interpolator”,也会发生同样的情况。我想做的是图像在开始下一轮时根本不会暂停。所以它必须以相同的速度无限旋转。
这是我的- code。谢啦,谢啦
<?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>
字符串
我如何在代码中调用它
rotate= AnimationUtils.loadAnimation(context, R.anim.loop_rotate)
binding.imgSecondLayout.startAnimation(rotate)
型
谢谢帮忙!:)
3条答案
按热度按时间tjrkku2a1#
将
animation.setRepeatCount(Animation.INFINITE)
添加到调用animation的java类。我的最终代码如下:
字符串
idfiyjo82#
这是由于动画完成其持续时间后的小延迟(在我们的情况下为1400 ms)。可以删除此延迟以实现平滑动画。
删除repeatMode属性并添加以下行:
字符串
动画将是平滑的,没有任何延迟
crcmnpdw3#
你的问题问了大约1年,现在我面临着同样的问题,但检查的答案不为我工作
相反,我将这一行添加到xml中的动画集标记中:
字符串
我的xml动画就像下面这样:
型