2014-09-29 219 views
0

我嘗試旋轉的ImageView與animation.i寫了一些代碼。此是我的XML動畫代碼旋轉動畫

<rotate 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:fromDegrees="0" 
android:toDegrees="360" 
android:pivotX="50%" 
android:pivotY="50%" 
android:repeatCount="infinite" /> 

,這是一個java代碼

 final ImageView myImage = (ImageView)findViewById(R.id.rot); 
    final Animation myRotation = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.rotator); 

    myImage.setAnimation(myRotation); 

    Handler ha=new Handler(); 
    ha.postDelayed(new Runnable() { 

     @Override 
     public void run() { 
      myRotation.setDuration(1000); 

     } 

    }, 1000); 
    myRotation.cancel(); 

我嘗試取消動畫持續時間結束,但我可以旋轉ImageView,但我無法取消動畫 我該如何解決我的問題?如果有人知道的解決方案,請幫助我

+0

更改它的重複次數。 – savepopulation 2014-09-29 13:48:10

回答

1

你並不需要使用處理程序動畫。

只要使用此:

動畫XML:

<rotate 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromDegrees="0" 
    android:toDegrees="360" 
    android:pivotX="50%" 
    android:pivotY="50%" 
    android:repeatCount="1" 
    android:duration="1000"/> 

在活動:

myImage.startAnimation(myRotation); //this will stop animation after 1000 miliseconds as `repeatCount` is 1. 

希望它能幫助。

+0

感謝它working.it是一個可能檢查動畫spead.i知道如何檢查動畫splead,但我的意思是,動畫spead自動減速 – Beka 2014-09-29 13:52:55

+0

這可能取決於程度和關鍵。 @Beka – 2014-09-30 04:19:57

0

嘗試這些:

myImage.startAnimation(myRotation); // to start animation 
myImage.cancelAnimation(); // to cancel animation