【发布时间】:2019-02-27 19:14:48
【问题描述】:
在我的应用程序中,我使用了 ValueAnimator - 它将一张图像淡入另一张图像。它可以完美运行,但仅在启动应用程序后才能运行。当我想再次为图像制作动画时,动画师无法正常工作。我尝试在 onAnimationEnd 监听器中使用 animation.end() 但应用程序崩溃。我什么都试过了。你能帮我么 ?这是我开始动画的方法
private void animate() {
if(animator != null)
animator.end();
animator = ValueAnimator.ofFloat(0f, 1f);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
mPackOneSecond.setAlpha((Float) animation.getAnimatedValue());
mPackTwoSecond.setAlpha((Float) animation.getAnimatedValue());
mPackThreeSecond.setAlpha((Float) animation.getAnimatedValue());
}
});
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
startSorting(option);
}
});
animator.setDuration(2500);
animator.start();
}
onCreate() 中的 animate() 基本上可以正常工作,但是当我想重新启动它时 - 它没有。为什么?
【问题讨论】: