ImageView中的动画不是旋转平滑的

时间:2016-02-01 11:13:12

标签: android animation imageview

我需要让ImageView旋转。为此,我使用了以下代码。

RES /动画/ rotator.xml:

<set xmlns:android="http://schemas.android.com/apk/res/android"
        android:interpolator="@android:anim/linear_interpolator">
            <rotate
            android:duration="6000"
            android:fromDegrees="0"
            android:pivotX="50%"
            android:pivotY="50%"
            android:repeatCount="1"
            android:toDegrees="359"></rotate>
    </set>

Activity.class

 final Animation myRotation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.rotator);
 imgSplashLogo.startAnimation(myRotation);

图像在我的情况下旋转。
但在旋转时会卡住。不顺利。 可能是我的代码中的错误。

请检查一下。提前谢谢......

2 个答案:

答案 0 :(得分:2)

  

插值器定义动画的变化率。这个   允许基本的动画效果(alpha,scale,translate,rotate)   加速,减速,重复;

您需要在android:interpolator="@android:anim/linear_interpolator"部分添加rotate

最后

<set xmlns:android="http://schemas.android.com/apk/res/android"
   >
        <rotate
        android:duration="6000"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:repeatCount="1"
        android:toDegrees="359"
        android:interpolator="@android:anim/linear_interpolator"></rotate>
</set>

您可以使用setDrawingCacheEnabled(true);

  

启用绘图缓存类似于在硬件上设置图层   加速关闭。

答案 1 :(得分:0)

您需要在android:interpolator="@android:anim/linear_interpolator"部分添加set(不在旋转部分)。

最后

<set xmlns:android="http://schemas.android.com/apk/res/android"
   android:interpolator="@android:anim/linear_interpolator">
        <rotate
        android:duration="6000"
        android:fromDegrees="0"
        android:pivotX="50%"
        android:pivotY="50%"
        android:repeatCount="1"
        android:toDegrees="359"></rotate>
</set>