11
votes

Bibliothèque de support: Les animations de fragmentsTransaction ne fonctionnent pas

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 SetCusTomanimations (int entrer, int sortie) Méthode ainsi que la méthode SETTRANSITION (INT transit) 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?

Certaines des animations que j'ai essayées: xxx


2 commentaires

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>


3 Réponses :


1
votes

Avez-vous essayé fragmenttransaction.remove () puis Fragmenttransaction.add () , au lieu de fragmenttransaction.replace () ? J'ai vu dans d'autres threads se plaint de remplacer () ne fonctionne pas comme prévu.

Je n'ai pas utilisé le Android-support-v4-googlemplaps bibliothèque, mais je peux confirmer le code ci-dessous fonctionne avec android-support-v4.jar : < / p> xxx


2 commentaires

Merci pour la réponse Andres. Malheureusement, je n'ai pas pu obtenir des animations à travailler (sauf pour settransition (fragmenttransaction.transit_fragment_open) et settransition (fragmenttransaction.transit_fragment_close) 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



13
votes

Vous devriez appeler fragmenttransaction. SetCusTomanimations d'abord, puis appelez fragmenttransaction. remplacez la méthode comme ceci: xxx


0 commentaires

0
votes

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();


0 commentaires