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);
        }
    });

如果我删除动画,那么它会按预期工作 - 隐藏按钮。

4

1 回答 1

0

在动画完成后的 setVisibility 之前使用它:

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

其中 anim 是您的 ObjectAnimator

于 2016-05-20T09:56:56.367 回答