Mam animację znikającą w widoku (która jest wewnątrz fragmentu) i za każdym razem, gdy animacja się dzieje, po jej zakończeniu widok ponownie się odrysowuje. Znalazłem pracę związaną z robieniem view.SetVisibility(View.GONE)
. Ale nie czeka na zakończenie animacji. Chciałbym wykonać ten kod setVisibility dopiero po zakończeniu animacji. Jaki jest najlepszy sposób na zrobienie tego?Zdarzenie zakończenia animacji android
Odpowiedz
Możesz dodać słuchacza animacji do obiektu animacji jak
anim.setAnimationListener(new Animation.AnimationListener(){
@Override
public void onAnimationStart(Animation arg0) {
}
@Override
public void onAnimationRepeat(Animation arg0) {
}
@Override
public void onAnimationEnd(Animation arg0) {
}
});
Jeśli chcesz, aby animacja znikała ponownie, gdy animacja jest w toku, użyj 'if (! anim.hasStarted() || anim.hasEnded())', aby sprawdzić, czy animacja jest nadal bieganie. – theczechsensation
można również osiągnąć stosując Animation.setFillAfter
Użyłem tego, aby rozwiązać to wcześniej. –
Wystarczy wziąć swój obiekt animacji i dodać animacji słuchacza do niego. Oto przykładowy kod:
rotateAnimation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationRepeat(Animation animation) {
// TODO Auto-generated method stub
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO Auto-generated method stub
**// WRITE HERE WHATEVER YOU WANT ON THE COMPLETION OF THE ANIMATION**
}
});
Funkcjonalnie taka sama jak zaakceptowanej odpowiedzi, ale w znacznie bardziej zwięzły sposób:
/* Add/Remove any animation parameter */
theView.animate().alpha(0).setDuration(2000).withEndAction(new Runnable() {
@Override
public void run() {
theView.setVisibility(View.GONE);
}
});
Enjoy :)
Wyczyść i jedno-liniowy. Najlepsza odpowiedź! Można go sprowadzić za pomocą lambda '.withEndAction (() -> theView.setVisibility (View.GONE));' – theBugger
tylko w ten sposób dzięki niestandardowym animacjom ... dzięki bro –
Należy pamiętać, że jest to poziom interfejsu API 16 (4.1) i powyżej. – Tommie
- 1. Wykrycie zakończenia animacji
- 2. Zdarzenie zakończenia wbudowanych tweetów?
- 3. UIView wywołanie zwrotne zakończenia animacji?
- 4. Jak uzyskać zdarzenie zakończenia połączenia w aplikacji Android
- 5. Android animacja listy animacji
- 6. Android ExpandableListView użyciu animacji
- 7. Android. Wydajność animacji
- 8. Obracanie animacji Android
- 9. Android Fragment animacji onResume
- 10. UIView blok animacji wstrzymuje zarówno animację, jak i kod zakończenia
- 11. UIPercentDrivenInteractiveTransition nie przechodzi do zakończenia animacji szybkim gestem
- 12. Przykład animacji prostej animacji
- 13. Zdarzenie po zainstalowaniu aplikacji (Android)
- 14. Przełęcz zdarzenie poprzez widok android
- 15. Android: używając domyślnej animacji Activity dla Fragmentów
- 16. Android slajdów odpowiedzieć jak animacji ImageView
- 17. Przycisk Android nie odpowiada po animacji
- 18. Android rozwija LinearLayout za pomocą animacji
- 19. Efekt animacji Android efekt blasku na obrazie
- 20. Android - przesunięcie początkowe animacji nie działa prawidłowo
- 21. klienta dla Android app z animacji
- 22. Android WebView nie wyświetla animacji javascript
- 23. Android - Zmiana lewy margines za pomocą animacji
- 24. Android zmienia obraz tła z zanikaniem animacji
- 25. Android Alpha Fade w animacji Numer
- 26. Android StrictMode Throwble: Wyraźna metoda zakończenia 'end' nie nazywana
- 27. Obsługa elementu menu Kliknij zdarzenie - Android
- 28. Jak wysłać zdarzenie wskaźnika w systemie Android?
- 29. Czy w systemie Android występuje zdarzenie instalacji?
- 30. Zdarzenie "touchmove" na systemie Android: Transformer Prime
postu kod jak jesteś przedstawiający animacja .... –