akc*_*akc 8 android android-animation animationdrawable pause
如何使用AnimationDrawable暂停帧动画?
Joh*_*han 25
我意识到这个帖子已经很老了,但是因为这是我在搜索暂停动画的方法时谷歌的第一个答案,所以我只是在这里发布解决方案供其他人查看.您需要做的是将您想要使用的动画类型子类化,然后添加用于暂停和恢复动画的方法.以下是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;
}
}
Run Code Online (Sandbox Code Playgroud)
这会在动画暂停时不断增加你的开始时间,有效地防止它完成并保持它暂停时的状态.
希望它可以帮助某人.
| 归档时间: |
|
| 查看次数: |
9790 次 |
| 最近记录: |