2013-03-13 105 views
5

我有一個關於Android AnimatorSet對象的問題。我試圖動態創建一個TextView,並將其設置爲GONE的可見性,並在啓動延遲後啓動動畫時顯示。爲了做到這一點,我設置了一個onAnimationStart偵聽器來告訴我動畫何時開始,以便我可以將TextView設置爲可見。我將該TextView添加到AnimatorSet中,以在alpha和translateY上執行一些動畫,但我也將setStartDelay設置爲一個值,以便動畫在2500毫秒時開始。我的問題是我希望TextView在動畫實際以2500毫米標記開始時變爲可見,但onAnimationStart僅在調用AnimatorSet.start()函數時被調用,而不是所請求的2500毫秒後被調用。這導致我的TextView在其動畫實際啓動之前變得可見(在setStartDelay時段之後)。我如何克服這一點,讓TextView對象只有在setStartDelay週期後纔可見?非常感謝你,你是最好的StackOverflow! :) :) :)Android AnimatorSet動畫+ setStartDelay VS AnimatorListenener.onAnimationStart?

回答

2

我一直有同樣的問題。我在AnimatorSet中設置了3個ValueAnimators動畫。我在我的組做一個「playTogether()」,例如:

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

,發現動畫延遲造成的問題。相反,我嘗試以下:

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

它似乎工作!