2013-03-13 8 views
5

Mam pytanie dotyczące obiektu Android AnimatorSet. Próbuję dynamicznie utworzyć TextView i ustawić widoczność na GONE i sprawić, aby pojawił się, gdy moja animacja zostanie uruchomiona po opóźnieniu rozpoczęcia. Aby to osiągnąć, skonfigurowałem detektor onAnimationStart, aby poinformował mnie, kiedy animacja się uruchamia, aby ustawić widok TextView na widoczny. Dodam, że TextView do AnimatorSet, aby wykonać pewne animacje na alfa i translateY, ale także ustawię setStartDelay na wartość, aby animacja zaczynała się na 2500 milisekund. Mój problem polega na tym, że chcę, aby TextView stał się widoczny, gdy animacja zaczyna się od znaku 2500 milli, ale onAnimationStart jest wywoływany tylko wtedy, gdy wywoływana jest moja funkcja AnimatorSet.start(), a nie żądana 2500 milisekund później. Powoduje to, że mój widok TextView staje się widoczny, zanim rozpocznie się ich animacja (po okresie setStartDelay). W jaki sposób mogę przezwyciężyć to i uzyskać obiekty TextView, aby były widoczne tylko po okresie setStartDelay ???? Dziękuję bardzo, jesteś najlepszy StackOverflow !!!! :) :) :)Android AnimatorSet animation + setStartDelay VS AnimatorListenener.onAnimationStart?

Odpowiedz

2

Mam ten sam problem. Animuję 3 ValueAnimatory w AnimatorSet. Robiłem „playTogether()” w moim zestawie tak:

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

I okazało się, że opóźnienie spowodowane animacja problemy. Zamiast tego próbowałem następujących:

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

Wydaje się działać!