在一个界面有一连串动画,当某个动画开始时,其他所有动画都要消失,可是不管stop、cancel还是clearAnimation,甚至直接设置view.setVisibility(View.INVISIBLE),都没有用,简直都要怀疑人生时,秉着代码是不会骗人的原则,继续寻找答案,终于峰回路转,原来是自己作死,设置了一个动画监听,在onAnimationEnd时启动的其他关联动画,又给带回来了,错误代码示例:
startAnimation.setAnimationListener(starAnimListener);
private Animation.AnimationListener starAnimListener = new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
startAnim();
}
@Override
public void onAnimationRepeat(Animation animation) {
}
};找到问题所在就好说了,加一个标志位解决问题:
startAnimation.setAnimationListener(starAnimListener);
private Animation.AnimationListener starAnimListener = new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
if (!isRotating) {
startAnim();
}
}
@Override
public void onAnimationRepeat(Animation animation) {
}
};
谢谢这位仁兄的提示:
1866

被折叠的 条评论
为什么被折叠?



