所以我试图在我的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级别提供的动画吗?
解决方法 我想通过启动动画师然后设置currentPlayTime()来实现它.文档清楚地告诉我(我只是偶然发现)如果动画尚未启动,使用此方法设置的currentPlayTime将不会向前推进!将动画的位置设置为指定的时间点.此时间应介于0和动画的总持续时间之间,包括任何重复.如果尚未启动动画,则在设置为此时它不会前进;它只会将时间设置为此值,并根据该时间执行任何适当的 *** 作.如果动画已在运行,则setCurrentPlayTime()会将当前播放时间设置为此值并从该点继续播放. http://developer.android.com/reference/android/animation/ValueAnimator.html#setCurrentPlayTime(long)
private voID stopAnimation(){ mCurrentPlayTime = mRotateAntiClockwiseAnimator.getCurrentPlayTime(); mRotateAntiClockwiseAnimator.cancel();}private voID startAnimation() { mRotateAntiClockwiseAnimator.start(); mRotateAntiClockwiseAnimator.setCurrentPlayTime(mCurrentPlayTime);}总结
以上是内存溢出为你收集整理的如何恢复和暂停Android中的ObjectAnimator API级别低于19?全部内容,希望文章能够帮你解决如何恢复和暂停Android中的ObjectAnimator API级别低于19?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)