3

我有一个PopupWindow使用 alpha 动画来产生窗口的淡入显示。

使用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 文档中没有找到任何说明如何执行此操作的内容。

感谢帮助!

4

0 回答 0