【问题标题】:Pause/Resume animation in API less than 19 (Android)?小于 19 的 API 中的暂停/恢复动画(Android)?
【发布时间】:2014-06-07 02:14:38
【问题描述】:

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

【问题讨论】:

标签: android api animation objectanimator


【解决方案1】:

在我的项目中,我必须制作旋转动画(这将是暂停,而不是从相同/结束位置恢复),我通过获取动画师的当前时间来解决它(当动画结束时/当我点击暂停时)而且,在启动动画师之后,我正在设置“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);
    }
}

【讨论】:

  • 它适用于 ObjectAnimator 但我们如何暂停/恢复 ObjectAnimatorSet ?
  • 您好 NikolaDev,我尝试实施您提供的取消动画暂停的解决方案,但是当我开始然后设置 currentplaytime 动画重新启动时,您知道是什么原因造成的吗?
猜你喜欢
  • 2011-07-31
  • 2014-10-03
  • 2021-03-07
  • 2018-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-17
  • 2015-07-06
相关资源
最近更新 更多