在API小于19(Android)中暂停/恢复动画?

Baz*_*nga 10 api animation android objectanimator

我意识到objectanimator对象的暂停和恢复方法仅适用于API:19.但是,既然我,也没有一半的Android用户都有这个API,有没有办法让你的动画暂停,然后从同一状态恢复,而不是从头开始?任何帮助将不胜感激.

nik*_*Dev 19

在我的项目中,我必须进行旋转动画(这将是暂停而不是从相同/结束位置恢复),我通过获取动画师的当前时间(当动画结束/当我点击暂停时)解决它而不是,启动动画师后,我正在设置"setCurrentPlayTime(带结束时间)".为了获得当前时间,我正在使用getCurrentPlayTime(); 并设置我正在使用ObjectAnimator类的setCurrentPlayTime()的时间.

参考文献:http : //developer.android.com/reference/android/animation/ValueAnimator.html#setCurrentPlayTime(long)http://developer.android.com/reference/android/animation/ValueAnimator.html#getCurrentPlayTime()

private ObjectAnimator mObjectAnimator;
private long mAnimationTime;

private void stopAnimation() {
    if(mObjectAnimator != null) {
        mAnimationTime = mObjectAnimator.getCurrentPlayTime();
        mObjectAnimator.cancel();
    }
}

private void playAnimation() {
    if (mObjectAnimator != null) {
        mObjectAnimator.start();
        mObjectAnimator.setCurrentPlayTime(mAnimationTime);
    }
}
Run Code Online (Sandbox Code Playgroud)