J'utilise Android-support-v4-googlemps support Bibliothèque de mise en œuvre d'une activité qui utilise des fragments et Google Maps, et ne peut pas sembler obtenir des animations de fragmenttransaction pour fonctionner. J'ai essayé d'utiliser le Certaines des animations que j'ai essayées: p> SetCusTomanimations (int entrer, int sortie) CODE> Méthode ainsi que la méthode
SETTRANSITION (INT transit) code> Méthode mais en vain. N'importe qui a été capable de faire fonctionner des animations, ou avait également des problèmes d'animation à travailler?
3 Réponses :
Avez-vous essayé fragmenttransaction.remove () puis Fragmenttransaction.add () , au lieu de fragmenttransaction.replace () ? J'ai vu dans d'autres threads se plaint de Je n'ai pas utilisé le Android-support-v4-googlemplaps bibliothèque, mais je peux confirmer le code ci-dessous fonctionne avec remplacer () code> ne fonctionne pas comme prévu.
android-support-v4.jar code>: < / p>
Merci pour la réponse Andres. Malheureusement, je n'ai pas pu obtenir des animations à travailler (sauf pour settransition (fragmenttransaction.transit_fragment_open) code> et
settransition (fragmenttransaction.transit_fragment_close) code> mais a rencontré d'autres problèmes avec cela) alors supprimé l'animation / Méthode de transition Appels.
En utilisant .add () est une meilleure solution que l'utilisation de.replace (). Un bon exemple est l'utilisation de .replace () dans Support V27.0.0 avec SetCusTomanimations, l'application se bloque simplement lorsque le fragment est retiré de la pile. Pour moi, la solution est d'utiliser .Ajouter (), mais la transaction dans l'animation est perdue car @Adilhussain a dit
Vous devriez appeler fragmenttransaction. SetCusTomanimations strong> em> d'abord, puis appelez
fragmenttransaction. remplacez la méthode forte> em> comme ceci:
Essayez de créer un instantané de votre carte Google:
transaction.replace(MapFragment.this.getId(), snapFrag); transaction.addToBackStack(null); transaction.commit(); getFragmentManager().executePendingTransactions(); final boolean roi = isInROI; WayPointDetailActivity waypointFrag = new WayPointDetailActivity(); waypointFrag.setWayPointId(wp.getId()); waypointFrag.setInRoi(roi); transaction = getFragmentManager() .beginTransaction(); transaction.setCustomAnimations(R.anim.enter, R.anim.exit); transaction.replace(snapFrag.getId(), waypointFrag); transaction.addToBackStack(null); transaction.commit();
Je croyais que je devais travailler sur Galaxy S2 mais pas les autres. Je reviendrai pour vous mettre à jour à ce sujet quand je vais travailler demain matin.
Vérifiez cette question. La réponse acceptée m'a aidé. Stackoverflow.com/questions/7718111/... < / a>