Android: PopupWindow Animation - нужно знать, когда анимация закончилась - PullRequest
3 голосов
/ 03 марта 2011

У меня есть PopupWindow, который использует альфа-анимацию для создания постепенного отображения окна.

Использование PopupWindow.setAnimationStyle() работает, как и ожидалось: всплывающее окно появляется при отображении.

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

Я попытался использовать следующее для получения базовой анимациина который ссылаются через setAnimationStyle() и прикрепляют к нему AnimationListener:

Animation fadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.popup_fade_in);
fadeInAnimation.setAnimationListener(new AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {
        Log.d(TAG, "fade-in animation START");
    }

    @Override
    public void onAnimationEnd(Animation animation) {
        Log.d(TAG, "fade-in animation END");
        // Kick off the next animation
    }

    @Override
    public void onAnimationRepeat(Animation animation) {
    }
});

Это не работает: ни один из AnimationListener методов никогда не вызывается.

Кто-нибудь знаетспособа определить, когда анимация всплывающего окна закончилась?

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

Благодарим за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...