如何使用AnimationDrawable暫停幀動畫?如何使用AnimationDrawable暫停幀動畫?
回答
我知道這個線程是很老,但因爲這是在谷歌第一次的答案時,我正在尋找一種方法來暫停動畫,我就發佈解決方案在這裏的人別人去看看。 您需要做的是爲您想要使用的動畫類型創建子類,然後添加用於暫停和恢復動畫的方法。下面是AlphaAnimation一個例子:
public class PausableAlphaAnimation extends AlphaAnimation {
private long mElapsedAtPause=0;
private boolean mPaused=false;
public PausableAlphaAnimation(float fromAlpha, float toAlpha) {
super(fromAlpha, toAlpha);
}
@Override
public boolean getTransformation(long currentTime, Transformation outTransformation) {
if(mPaused && mElapsedAtPause==0) {
mElapsedAtPause=currentTime-getStartTime();
}
if(mPaused)
setStartTime(currentTime-mElapsedAtPause);
return super.getTransformation(currentTime, outTransformation);
}
public void pause() {
mElapsedAtPause=0;
mPaused=true;
}
public void resume() {
mPaused=false;
}
}
這將不斷增加你的開始時間,而動畫暫停時,有效地將其與整理,並保持它的狀態,當你暫停它。
希望它可以幫助別人。
這工作完美。謝謝。 – Weston 2011-12-06 09:31:56
感謝與我們分享這是非常有用的+1從我身邊! – Deepak 2012-04-05 12:28:30
@Deepak它可以用於框架動畫 – Ashishsingh 2012-06-10 04:40:10
- 1. AnimationDrawable暫停?
- 2. 暫停AnimationDrawable並從同一幀恢復
- 3. 暫停css3關鍵幀動畫
- 4. 暫停/倒轉一幀動畫?
- 5. 如何暫停uiview動畫?
- 6. 暫停動畫
- 7. 如何用OpenGL/glut暫停動畫
- 8. 動畫後暫停
- 9. 暫停SceneKit動畫
- 10. 暫停UIImageview動畫
- 11. Silverlight:暫停動畫
- 12. CSS動畫:暫停
- 13. 如何使用jquery暫停懸停css動畫
- 14. 暫停和取消暫停AS2動畫
- 15. 使用jquery暫停和恢復動畫
- 16. 使用jQuery運行/暫停CSS動畫
- 17. ethtool暫停幀?
- 18. 播放/暫停任何畫布動畫
- 19. 如何鏈接jQuery動畫和暫停?
- 20. 如何順利暫停動畫?
- 21. Snap.svg:如何暫停/恢復動畫?
- 22. 如何暫停/恢復LiquidSlider動畫
- 23. 如何暫停和恢復UIView動畫?
- 24. 如何暫停所有jQuery動畫?
- 25. 如何在WPF中暫停動畫?
- 26. aframe /動畫:如何暫停和恢復?
- 27. 使用AnimationDrawable進行大型動畫
- 28. 暫停懸停動畫懸停Jquery
- 29. 如何停止關鍵幀動畫
- 30. 暫停外部SVG動畫
感謝您的回覆。 是的,我知道沒有暫停方法,而是我實現了一個實現Runnable的自定義類,並使用postDelayed,removeCallbacks方法來完成任務。 我不確定這是否是正確的做法。 – akc 2010-05-20 10:41:45