即使正在运行onPause
或Animation
的片段AnimationSet
未停止并继续在背景上制作动画。有没有办法暂停onPause
或其他事件中的动画,然后通过onResume
或其他相应事件恢复动画?也许通过将动画包装到一个单独的线程然后挂起该线程,是否可能?
答案 0 :(得分:0)
您应该查看Animation
的{{3}}方法。只需在onPause()
中拨打即可。您将无法在停止的地方恢复它,但您可以重新启动它,或者在您返回它时不显示它。
答案 1 :(得分:0)
您可以使用AnimatorUpdateListener
跟踪视图的当前位置:
animation.addUpdateListener(new AnimatorUpdateListener(){
@Override
public void onAnimationUpdate(ValueAnimator animation) {
//get animated value using
animation.getAnimatedValue();
animation.getCurrentPlayTime();
//then handle the click listener
}
});
如果将当前动画值和时间戳保存到变量,然后将它们传递到onSavedInstanceState
中的包,则可以在onPause
中取消动画,然后在{{1}中保存的值中恢复它。 1}}。