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 に答える