Предотвратить вид, чтобы быть впереди во время анимации - PullRequest
0 голосов
/ 25 марта 2011

У меня есть кнопка, которая показывает или скрывает вид.При нажатии кнопки вид добавляется в макет и начинается анимация перевода.Второе нажатие кнопки удалит вид из макета.Я пользуюсь addView(view, 0), чтобы убедиться, что вид находится позади всех других видов.В целом работает нормально.

Проблема возникает, когда отображается вид, и я нажимаю кнопку дважды очень быстро (вроде двойного щелчка).В этом случае вид переходит на передний план во время анимации.

Как я могу предотвратить это?

1 Ответ

1 голос
/ 25 марта 2011

Просто отключите (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);
...