有没有办法在Android中暂停和恢复动画或AnimationSet?

时间:2013-10-18 08:20:58

标签: android animation

即使正在运行onPauseAnimation的片段AnimationSet未停止并继续在背景上制作动画。有没有办法暂停onPause或其他事件中的动画,然后通过onResume或其他相应事件恢复动画?也许通过将动画包装到一个单独的线程然后挂起该线程,是否可能?

2 个答案:

答案 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}}。