API レベル 19 が ObjectAnimators での pause() と resume() をサポートしていることは承知しています。しかし、API レベル 14 の私のプロジェクトでは、Image ビューに適用されて回転する ObjectAnimator があります。ObjectAnimator が提供するアニメーションをタッチ時に一時停止し、イメージビューがあった場所 (タッチダウン前) から再開したいと考えています。
そこで、現在の再生時間を保存して、stopAnimation() 関数でオブジェクト アニメーターをキャンセルしようとしました。
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();
}
これは動作しません。19 より前の API レベルのアニメーターによって提供されたアニメーションを一時停止および再開するための指針を教えてください。