使用ObjectAnimator后无法设置可见性

3

我正在使用NineOldAndroids进行动画效果的实现。 我的目标是在隐藏按钮之前对其应用一些动画效果。 因此,我对按钮应用了动画效果,然后调用setVisibility(View.GONE)方法,但似乎没有起作用。该按钮仍然在屏幕上并且可以被点击。 我是否需要在应用动画效果后“重置”按钮状态?

    final Button button = (Button) getView().findViewById(R.id.user_to_button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            ObjectAnimator.ofFloat(AnimatorProxy.wrap(v), "alpha", 1, 0).setDuration(100).start();
            ObjectAnimator.ofFloat(AnimatorProxy.wrap(v), "translationX", 0, -v.getWidth()).setDuration(100).start();
            v.setVisibility(View.GONE);
        }
    });

如果我去掉动画,那么它将按预期工作 - 隐藏按钮。

尝试像这样使用:button.setVisibility(View.GONE); 我之前遇到过这个问题,我是这样解决的。 - Rotary Heart
我尝试了,但仍然没有运气。 - agamov
2
请查阅Animation.AnimationListener - adneal
@aneal,请再给我一些线索。虽然动画不是无限的,但对我来说 onAnimationEnd(Animation animation) 从未被调用过。 - agamov
尝试通过“AnimationListener”在动画结束后设置可见性。 - adneal
1个回答

0
在动画完成后,在设置可见性之前使用这个。
anim.reverse();
        anim.removeAllListeners();
        anim.end();
        anim.cancel();

其中 anim 是您的 ObjectAnimator 对象


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接