6

Android AnimatorSet オブジェクトについて質問があります。TextView を動的に作成し、その可視性を GONE に設定して、開始遅延後にアニメーションが開始されたときに表示されるようにしようとしています。これを実現するために、onAnimationStart リスナーをセットアップして、アニメーションがいつ開始されるかを通知し、TextView を表示可能に設定できるようにしました。その TextView を AnimatorSet に追加して、alpha と translateY でいくつかのアニメーションを実行しますが、アニメーションが 2500 ミリ秒で開始するように setStartDelay にも値を設定します。私の問題は、アニメーションが実際に 2500 ミリ秒で開始されたときに TextView を表示したいのですが、onAnimationStart は AnimatorSet.start() 関数が呼び出されたときにのみ呼び出され、要求された 2500 ミリ秒後では呼び出されません。これにより、TextView ' アニメーションが実際に開始される前 (setStartDelay 期間の後) に表示されるようになります。これを克服し、setStartDelay 期間の後にのみ TextView オブジェクトを表示するにはどうすればよいですか???? どうもありがとうございました。あなたは最高の StackOverflow です!!!! :) :) :)

4

1 に答える 1

2

私は同じ問題を抱えています。AnimatorSet で 3 つの ValueAnimators をアニメーション化しています。セットで「playTogether()」を次のように実行していました。

set.playTogether(alpha,animScale,transY);
set.start();

そして、アニメーションの遅延が問題を引き起こしていることがわかりました。代わりに、次のことを試しました。

set.play(animScale);
set.play(transY);
set.play(alpha);
set.start();

効きそうです!

于 2014-03-25T05:51:35.157 に答える