如何清除NineOldAndroids设置的动画监听器?

时间:2015-02-27 07:54:43

标签: android android-animation 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后清除侦听器?

1 个答案:

答案 0 :(得分:7)

我找到了解决方案,并且在制作视图VISIBLE时将传递null作为侦听器。

ViewPropertyAnimator.animate(view).alpha(1).setListener(null);