使用ObjectAnimator后无法设置可见性

时间:2013-03-18 13:37:49

标签: android android-animation

我正在使用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);
        }
    });

如果删除动画,则按预期工作 - 隐藏按钮。

1 个答案:

答案 0 :(得分:0)

动画完成后,在setVisibility之前使用此选项:

anim.reverse();
        anim.removeAllListeners();
        anim.end();
        anim.cancel();

其中anim是你的ObjectAnimator