如何使用AnimationDrawable暂停框架animation?
如何使用AnimationDrawable暂停框架animation?
我意识到这个线程是相当古老的,但是因为这是Google在search暂停animation时的第一个答案,所以我只是将解决scheme发布给其他人看。 你需要做的是inheritance你想使用的animationtypes,然后添加方法来暂停和恢复animation。 这里是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; } }
这会在animation暂停的时候继续增加开始时间,有效地保持animation的完成状态,并保持静止时的状态。
希望它可以帮助别人。
从API:
animation没有暂停方法。
http://www.androidjavadoc.com/1.0_r1/android/view/animation/package-summary.html