如何清除NineOldAndroids设置的Animation Listener?
How to clear Animation Listeners set by NineOldAndroids?
我正在尝试在我的应用程序中制作动画视图,并且我正在使用 NineOldAndroid 制作动画。
所需的效果是使视图淡出,然后将其可见性设置为消失,以便在不可见时不会被单击。这是我的做法。
ViewPropertyAnimator.animate(view).alpha(0).setListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
}
@Override
public void onAnimationEnd(Animator animation) {
view.setVisibility(View.GONE);
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
});
这里的问题是上面的监听器坚持使用 view
,当我再次尝试淡入时,监听器再次被调用,导致视图在出现时变为 GONE
。
ViewPropertyAnimator.animate(enterGallery).alpha(1);
如何在第一段代码中将视图可见性设置为GONE
后清除监听器?
我找到了解决方案,它是在制作视图时将 null 作为侦听器传递 VISIBLE
。
ViewPropertyAnimator.animate(view).alpha(1).setListener(null);
我正在尝试在我的应用程序中制作动画视图,并且我正在使用 NineOldAndroid 制作动画。
所需的效果是使视图淡出,然后将其可见性设置为消失,以便在不可见时不会被单击。这是我的做法。
ViewPropertyAnimator.animate(view).alpha(0).setListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
}
@Override
public void onAnimationEnd(Animator animation) {
view.setVisibility(View.GONE);
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
});
这里的问题是上面的监听器坚持使用 view
,当我再次尝试淡入时,监听器再次被调用,导致视图在出现时变为 GONE
。
ViewPropertyAnimator.animate(enterGallery).alpha(1);
如何在第一段代码中将视图可见性设置为GONE
后清除监听器?
我找到了解决方案,它是在制作视图时将 null 作为侦听器传递 VISIBLE
。
ViewPropertyAnimator.animate(view).alpha(1).setListener(null);