2013-10-18 270 views

回答

0

您應該看看Animationcancel()方法。請撥打您的onPause()。您將無法在停止的地方恢復它,但是您可以重新啓動它,或者在返回時不顯示它。

+0

實際上,我正在尋找一種方法來暫停/恢復動畫不僅通過onPause/onResune,但也更重要的按鈕。 – Stan

+0

你可以用同樣的方法實現這個功能,並在你的按鈕OnClickListener中調用'cancel()'方法。如果您正在尋找更高級的動畫功能,我建議您查看ObjectAnimator開發人員指南。它應該提供所有你需要「暫停」和「恢復」你的動畫。有了這個組件,把它想象成從一個點到另一個創建動畫,而不是暫停和恢復動畫。這有點棘手,但比'Animation'更強大 – ben

0

您可以用AnimatorUpdateListener跟蹤鑑於當前的位置:

animation.addUpdateListener(new AnimatorUpdateListener(){ 
    @Override 
    public void onAnimationUpdate(ValueAnimator animation) { 
     //get animated value using 
     animation.getAnimatedValue(); 
     animation.getCurrentPlayTime(); 

     //then handle the click listener 
    } 

}); 

如果保存當前動畫值和時間戳變量,然後將它們傳遞給捆綁在onSavedInstanceState,你可以取消動畫在中,然後以onRestoreInstanceState中保存的值恢復它。