4

アプリでビューをアニメーション化しようとしていて、アニメーションに NineOldAndroid を使用しています。
目的の効果は、ビューをフェードアウトしてから、表示されていないときにクリックされないように表示を非表示に設定することです。これが私のやり方です。

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です。

ViewPropertyAnimator.animate(enterGallery).alpha(1);

GONE最初のコードでビューの可視性を設定した後、リスナーをクリアするにはどうすればよいですか?

4

1 に答える 1

8

ビューを作成するときに null をリスナーとして渡すことで解決策が見つかりましたVISIBLE

ViewPropertyAnimator.animate(view).alpha(1).setListener(null);
于 2015-02-27T17:48:24.340 に答える