2011-05-05 52 views
5


這是一個簡單的代碼來爲webview屏幕設置動畫。但問題是,屏幕在動畫發生之前滾動..但我需要爲當前屏幕應用動畫...我該如何解決這個問題?如何查找動畫完成在Android中播放

這裏是我的一塊代碼

if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) { 

    mWebView.startAnimation(AnimationUtils.loadAnimation(context, R.anim.page_slide_left_in)); 
    mWebView.startAnimation(AnimationUtils.loadAnimation(context,R.anim.page_slide_left_out)); 

    mWebView.scrollBy(mWebView.getWidth(),0); 
} 

回答

5

android.view.animation.Animation類(由AnimationUtils.loadAnimation返回的呼籲AnimationListener嵌套的接口,你可以用它來確定當動畫已完成。具體來說,你會感興趣實現監聽器接口的onAnimationEnd方法。

當然,你也不得不打電話setAnimationListenerloadAnimation返回Animation實例。

+0

@vnshetty還有一個選項可以覆蓋''View'類'onAnimationEnd'方法,如[本答案]中所述(http://stackoverflow.com/questions/4750939/android-animation-is-not-finished -in-onanimationend/5110476#5110476)。 個人而言,我只用我的答案中的方法來檢測動畫的結尾,所以我不知道任何其他方法,而不必搜索它們。 – slyfox 2011-05-05 18:31:18