如何使用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. 暂停/倒转一帧动画?
- 2. 在关键帧动画之间暂停
- 3. 如何暂停uiview动画?
- 4. 如何用OpenGL/glut暂停动画
- 5. CSS动画:暂停
- 6. Silverlight:暂停动画
- 7. 暂停和取消暂停AS2动画
- 8. 使用jQuery运行/暂停CSS动画
- 9. 如何在WPF中暂停动画?
- 10. 如何暂停/恢复LiquidSlider动画
- 11. 如何暂停所有jQuery动画?
- 12. Snap.svg:如何暂停/恢复动画?
- 13. 如何暂停和恢复UIView动画?
- 14. 如何顺利暂停动画?
- 15. aframe /动画:如何暂停和恢复?
- 16. ethtool暂停帧?
- 17. 有可能暂停动画?
- 18. WPF动画暂停/继续
- 19. 暂停外部SVG动画
- 20. OnClick的暂停动画
- 21. 暂停的动画的UIImageView
- 22. 使用延迟动画暂停CALayer动画
- 23. 如何使用JavaScript暂停和恢复CSS3动画?
- 24. 如何在iOS5.0中使用块来暂停UIView动画
- 25. 如何暂停和恢复UIView动画(无块动画)?
- 26. 如何在Cocos2d中暂停动画精灵动画?
- 27. 暂停动画离开:悬停状态
- 28. 播放CSS动画,暂停悬停了
- 29. 如何在notifyItemRemoved()后暂停/停止recyclerview动画?
- 30. 如何暂停jquery循环插件中间动画(悬停)
感谢您的回复。 是的,我知道没有暂停方法,而是我实现了一个实现Runnable的自定义类,并使用postDelayed,removeCallbacks方法来完成任务。 我不确定这是否是正确的做法。 – akc 2010-05-20 10:41:45