android开发有些个基础的动画,旋转是其一,然而实现中会发现有时候实现出来的的旋转会有卡顿的现象,不是自己想要的,之前遇到过,当时解决了,这次遇到了,竟然忘了是怎么解决的了,网上重新查了下,还是记录下吧。
个人实现动画的过程如下:
动画文件:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees="359"
android:toDegrees="0"
android:duration="500"
android:interpolator="@android:anim/linear_interpolator"
android:repeatCount="infinite"
android:repeatMode="restart"
android:fillAfter="true"
android:pivotX="50%"
android:pivotY="50%" />
</set>
动画调用:
Animation rotate = AnimationUtils.loadAnimation(this, R.anim.rotate_circle);
iv_circle.startAnimation(rotate);
结果:旋转但会卡顿
修改:
动画文件:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
android:fromDegrees="359"
android:toDegrees="0"
android:duration="500"
android:repeatCount="infinite"
android:repeatMode="restart"
android:fillAfter="true"
android:pivotX="50%"
android:pivotY="50%" />
</set>
动画调用:
Animation rotate = AnimationUtils.loadAnimation(this, R.anim.rotate_circle);
LinearInterpolator linearInterpolator = new LinearInterpolator();
rotate.setInterpolator(linearInterpolator);
iv_circle.startAnimation(rotate);
结果:平滑旋转