2016-02-01 164 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>