2014-07-23 36 views
1

我有一個自定義視圖和一個自定義動畫。我的自定義視圖覆蓋onAnimationEnd,我的自定義動畫類分別覆蓋applyTransformation。applyTransformation在Android中的onAnimationEnd後調用

我發現在調用onAnimationEnd後,applyTransformation仍然被調用。

我嘗試使用提供的解決方案here,但它仍然無法正常工作。

回答

2

我遇到了這個問題,並追溯到Android的bug跟蹤器上。 我不確定它是否仍然存在,或者它是否已經修復,但同時我用一個輕微的破解工作:

class SomeClass { 
    private bool mAnimationEnded = true; 

    private void SomeMethod() { 
     Animation animation = new Animation() { 
      @Override 
      protected void applyTransformation(float interpolatedTime, Transformation t) { 
       if (mAnimationEnded) return; 
       // ... 
      } 
     } 

     animation.setAnimationListener(new AnimationListener() { 
      @Override 
      public void onAnimationEnd(Animation animation) { 
       mAnimationEnded = true; 
       // ... 
      } 

      @Override 
      public void onAnimationStart(Animation animation) { 
       mAnimationEnded = false; 
       // ... 
      } 

      @Override 
      public onAnimationRepeat(Animation animation) { } 
     } 
     // ... Use animation here 
    } 
} 
相關問題