У меня есть 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, указывающих, как это сделать.
Благодарим за помощь!