我正在尝试以恒定速度连续旋转视图。 我用了,
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees="0"
android:toDegrees="1800"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:duration="1000"
/>
</set>
但是在一次旋转之后它暂停一段时间,然后开始另一次旋转。有没有办法消除暂停?
答案 0 :(得分:2)
继续使用android:repeatMode =&#34; restart&#34;
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<rotate
android:duration="1700"
android:interpolator="@android:anim/linear_interpolator"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:repeatMode="restart"
android:toDegrees="360" />
</set>
答案 1 :(得分:0)
使用xml - 使用android:toDegrees="360"
代替1800
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >
<rotate
android:duration="500"
android:fromDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:repeatCount="infinite"
android:startOffset="0"
android:toDegrees="360" />
</set>
使用代码旋转图像
ImageView img_rotate = (ImageView)findViewById(R.id.img_rotate);
rotation = AnimationUtils.loadAnimation(MainActivity.this, R.anim.rotate);
rotation.setFillAfter(true);
img_rotate.startAnimation(rotation);
答案 2 :(得分:0)
将其添加到RotationAnimation中,您将获得所需的内容:-
rotate.setInterpolator(this, android.R.anim.linear_interpolator);
或将其添加到动画xml中;-
android:interpolator="@android:anim/linear_interpolator"