我知道API级别19支持在ObjectAnimators上使用pause()和resume()方法。但是在我的项目中,API级别为14,我有一个应用于ImageView以旋转它的ObjectAnimator。我希望在触摸时暂停ObjectAnimator提供的动画,并从ImageView的原始位置恢复动画。
所以我尝试在我的stopAnimation()函数中保存当前播放时间并取消ObjectAnimator。
private void stopAnimation(){
currentTime = mGlobeAnimator.getCurrentPlayTime();
mGlobeAnimator.cancel();
}
在startAnimation()函数中,我重新创建了动画器,将其目标设置为图像视图,设置已保存的播放时间并启动它。private void startAnimation(Context context, View view, float startAngle) {
ObjectAnimator globeAnimatorClone = (ObjectAnimator)AnimatorInflater.loadAnimator(context, R.animator.rotate_globe);
globeAnimatorClone.setTarget(mImageView);
globeAnimatorClone.setCurrentPlayTime(currentTime);
globeAnimatorClone.start();
}
这不起作用。请问有人可以提供任何指针来暂停和恢复动画吗,适用于API 19之前的级别?
repeatCount = Animation.INFINITE
一起使用。 - Konstantin Konopko