首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何清除NineOldAndroids设置的动画侦听器?

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

Stack Overflow用户
提问于 2015-02-27 07:54:42
回答 1查看 1.9K关注 0票数 4

我试图在我的应用程序中有一个动画视图,并使用NineOldAndroid动画。

期望的效果是淡出视图,然后将其可见性设置为“消失”,这样它就不会在不可见的情况下被单击。我就是这样做的。

代码语言:javascript
复制
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

代码语言:javascript
复制
ViewPropertyAnimator.animate(enterGallery).alpha(1);

在第一段代码中将视图可见性设置为GONE之后,如何清除侦听器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-27 17:48:24

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

代码语言:javascript
复制
ViewPropertyAnimator.animate(view).alpha(1).setListener(null);
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28760056

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档