我正在尝试在我的应用中制作动画视图并使用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
后清除侦听器?
答案 0 :(得分:7)
我找到了解决方案,并且在制作视图VISIBLE
时将传递null作为侦听器。
ViewPropertyAnimator.animate(view).alpha(1).setListener(null);