Sto utilizzando un'animazione personalizzata per sostituire i frammenti e vorrei disabilitare alcuni pulsanti all'avvio dell'animazione e all'attivazione al termine dell'animazione. Come posso fare questo?FragmentTransaction prima e dopo setCustomAnimation callback
8
A
risposta
25
Ciò che suggerirei è di creare una classe base che estenda tutto il tuo Fragments
e al suo interno definisca alcuni metodi che possono essere sovrascritti per gestire gli eventi di animazione. Quindi, eseguire l'override di onCreateAnimation()
(supponendo che si stia utilizzando la libreria di supporto) per inviare un evento sui callback di animazione. Per esempio:
protected void onAnimationStarted() {}
protected void onAnimationEnded() {}
protected void onAnimationRepeated() {}
@Override
public Animation onCreateAnimation (int transit, boolean enter, int nextAnim) {
//Check if the superclass already created the animation
Animation anim = super.onCreateAnimation(transit, enter, nextAnim);
//If not, and an animation is defined, load it now
if (anim == null && nextAnim != 0) {
anim = AnimationUtils.loadAnimation(getActivity(), nextAnim);
}
//If there is an animation for this fragment, add a listener.
if (anim != null) {
anim.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart (Animation animation) {
onAnimationStarted();
}
@Override
public void onAnimationEnd (Animation animation) {
onAnimationEnded();
}
@Override
public void onAnimationRepeat (Animation animation) {
onAnimationRepeated();
}
});
}
return anim;
}
Poi, per il vostro Fragment
sottoclasse, basta sovrascrivere onAnimationStarted()
per disabilitare i pulsanti, e onAnimationEnded()
per attivare i tasti.
Problemi correlati
- 1. laravel modello callback dopo salvare, prima di salvare, ecc
- 2. FragmentTransaction inside a Fragment
- 3. WebViewFragment webView è null dopo aver eseguito un FragmentTransaction
- 4. IAsyncResult.AsyncWaitHandle.WaitOne() completa prima del callback
- 5. Android FragmentTransaction setTransitionStyle
- 6. Richiamare la funzione di callback dopo zingChart.render()
- 7. eseguire codice prima e dopo la specifica
- 8. Grep caratteri prima e dopo la partita?
- 9. Specs2 e @ Prima/@ Dopo-come metodi
- 10. AspectJ "intorno" e "proseguire" con "prima/dopo"
- 11. Prima e dopo In Local.xml Magento?
- 12. Null FragmentTransaction passato a TabListener.onTabSelected()
- 13. Inizia FragmentTransaction dall'interno di ArrayAdapter
- 14. Libreria di supporto: FragmentTransaction animazioni non funzionanti
- 15. RxJava: qual è la differenza tra i callback in doOnError ('callback') e subscribe (*, 'callback')
- 16. Chiusura e callback
- 17. Osservatori e callback
- 18. Scorrimento infinito e callback
- 19. Jquery - fancybox e callback
- 20. NSOperation e NSOperationQueue callback
- 21. FileSystemWatcher.Filter - buffer prima o dopo?
- 22. MySQL selezionare prima fila dopo
- 23. Trasforma: prima o: dopo l'articolo
- 24. LaTeX vuoto dopo il numero e prima del testo
- 25. ordine mysql per, null prima e DESC dopo
- 26. come visualizzare l'anteprima di un'immagine prima e dopo il caricamento?
- 27. come posso ottenere il testo prima e dopo il "-" (trattino)
- 28. jQuery ordinabile get .index() prima e dopo l'ordinamento?
- 29. Transizioni CSS con: prima e: dopo pseudo elementi
- 30. Nessuna spaziatura prima del primo elemento e dopo l'ultimo articolo
Questo non funziona con le transizioni di materiale come Slide o Explode perché 'anim' è sempre nullo. – Servus7