3

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 ドキュメントには何も見つかりません。

助けてくれてありがとう!

4

0 に答える 0