Mam ImageView
, którego używam do pokazania postępu przez AnimationDrawable
. Kiedy chcę pokazać moje postępy tarczy, mogę to zrobić:Jak mogę coś zrobić po zakończeniu animacji?
animDrawable.start();
ObjectAnimator.ofFloat(view, "alpha", 1.0f).setDuration(300).start();
gdy chcę ukryć tarczy, mogę to zrobić:
ObjectAnimator.ofFloat(view, "alpha", 0.0f).setDuration(300).start();
animDrawable.stop();
to jednak powoduje, że animacja zatrzymuje się natychmiast . Chciałbym, aby zatrzymał się dopiero po tym, jak ObjectAnimator
całkowicie zniknął do 0,0 alfa. Czy istnieje sposób, w jaki mogę skonfigurować coś podobnego do wywołania zwrotnego "AnimationCompleted"?
nie można spać wątek na czas, następnie wywołać .stop()? – Rob
Wolę nie przespać wątku interfejsu użytkownika. Mogę zrobić postDelayed() Runnable, ale to wydaje się bardzo hacky. Podejrzewam, że jest to właściwy sposób. Co więcej, nie jestem pewien, jak dokładna jest cała operacja. –
Możesz mieć sprawne sprawdzanie alpha w satysfakcjonującym przedziale –