0

ビューを表示または非表示にするボタンがあります。ボタンを押すと、ビューがレイアウトに追加され、変換アニメーションが開始されます。2番目のボタンを押すと、レイアウトからビューが削除されます。addView(view, 0)私は、ビューが他のすべてのビューの背後にあることを確認するためにユーザーを使用します。それは一般的にうまく機能します。

この問題は、ビューが表示されているときにボタンを2回非常に速く押すと発生します(ダブルクリックのようなものです)。その場合、アニメーション中にビューが前面にジャンプします。

どうすればこれを防ぐことができますか?

4

1 に答える 1

1

setEnabled(false)ボタンを無効( )にして、で有効にしAnimationListener.onAniationEnd()ます。

UPD:わかりました、それは私の考えを説明するコードです:

    final Button btn = (Button) findViewById(R.id.myButton);
    View view = (View) findViewById(R.id.myView);

    btn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            btn.setEnabled(false);
            // animation here
            addView(view, 0);
        }
    });

    // somewhere else
    final Button btn = (Button) findViewById(R.id.myButton);
    btn.setEnabled(true);
    removeView(view);
于 2011-03-25T10:35:59.670 に答える