2016-02-01 168 views
1

我需要使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); 

图像沿着mycase旋转。
但是在旋转时卡住&不顺利。 哪里可能是我的代码中的错误。

请提前检查it.Thanks ...

+0

http://stackoverflow.com/questions/2032304/android-imageview-animation –

+0

参考http://stackoverflow.com/questions/12295578​​/rotate-image-on-center- not-going-smooth-monodroid – sasikumar

回答

2

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

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

最后

<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);

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

+0

好吧..我会试试 –

+0

仍然图像旋转不平滑。 –

+0

@ParamaSudha图像分辨率太高? –

0

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

最后

<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>