Android: Was ist los mit meiner Fragmentübergangsanimation?

Ich brauche einfach nur Slide in und gleiten Animation für Fragment Übergang, unten ist mein Code: slide_in_left.xml:

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="true"> <translate android:fromXDelta="-100%" android:toXDelta="0%" android:fromYDelta="0%" android:toYDelta="0%" android:duration="700"> </translate> </set> 

Slide_out_right.xml:

  • Android macht Übergang auf Aktivität neu erstellen ()
  • Kann ich die Android startActivity () Übergangsanimation ändern?
  • Android - Wie man einen Aktivitätsübergang animiert, wenn die Standard-Rücktaste gedrückt wird
  • Android-Bug in Slide Activity-Übergang
  • Android: Beschleunigung der gemeinsamen Elementübergang zwischen Aktivitäten
  • Android Google IO 2014: Wie implementiere ich Aktivitätsübergang mit Fragmenten?
  •  <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:shareInterpolator="false"> <translate android:fromXDelta="0%" android:toXDelta="100%" android:fromYDelta="0%" android:toYDelta="0%" android:duration="700"> </translate> </set> 

    Der Code, den ich benutzt habe:

     SomeFragment frag = SomeFragment.newInstance(foo); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right); ft.replace(R.id.the_fragment, frag); ft.addToBackStack(null); ft.commit(); 

    Das Ergebnis sieht sehr seltsam aus, wenn der Übergang beginnt, verschwindet das aktuelle Fragment ohne Animation, das eintretende Fragment kommt (von links) wie ein Scrollpapier. Was ist los mit meinem Animations-XML-Code?

    Vielen Dank!

  • Android Plugin 1.3 Fehler
  • Einstellung startMode = "singleTask" vs Einstellungsaktivität launchMode = "singleTop"
  • Erhöhung der Android SDK Emulator Geschwindigkeit
  • Fehler in Webview mit targetSdkVersion 24
  • Was brauche ich für die Programmierung für Tegra GPU
  • Android - Statusleiste verhindert Vollbild
  • 4 Solutions collect form web for “Android: Was ist los mit meiner Fragmentübergangsanimation?”

    GetSupportFragmentManager () bedeutet, dass Sie das Kompatibilitätspaket für Fragmente verwenden, denke ich. Ich habe das gleiche Problem, das überhaupt keine Animation ist.

    Weitere Informationen finden Sie unter http://groups.google.com/group/android-developers/browse_thread/thread/5ef5ba1be9f40c56/a846578d91a032c0?hide_quotes=yes#msg_8ca017c473818a04

    Google hat die Kompatibilitätsbibliothek aktualisiert und die Übergänge wurden behoben. Sie sollten Ihre Compatiblity-Bibliothek vom Android Sdk / Avd Manager aktualisieren.

    Ich fand einen coolen Post hier über die Fragment Kompatibilität Bibliothek Animationen Problem, ich nahm den zweiten Ansatz

    ….. Rufen Sie FragmentTransaction.setCustomAnimations () auf und referenzieren Sie entweder Animatoren oder Animationen (je nachdem, ob Sie die Kompatibilitätsbibliothek verwenden oder nicht). Was interessant ist, ist, dass setCustomAnimations () alle Fragmentübergänge beeinflusst, die der Transaktion hinzugefügt werden, nachdem sie aufgerufen wurde. So müssen Sie setCustomAnimations () anrufen, bevor Sie es verwenden möchten, und Sie können tatsächlich mehrere verschiedene benutzerdefinierte Animationen für jeden Teil einer Transaktion einrichten (mit einem Aufruf von setCustomAnimations () vor jedem add () / remove () / attach () / Detach () / show () / hide () / replace ()) ……

    so was

     FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.setCustomAnimations(R.anim.push_up_in,R.anim.push_up_out); ft.commit(); ft = getSupportFragmentManager().beginTransaction(); ft.setCustomAnimations(R.anim.push_up_in,R.anim.push_up_out); if (fragment1.isHidden()) { ft.show(fragment1); } else { ft.hide(fragment1); } ft.commit(); 

    Mit diesem habe ich das Problem für api Ebene 11 hoffe es funktioniert!

    Wenn du ViewPager benutzt hast

     mPager.setOffscreenPageLimit(YourFragmentsSize); 

    Diese Linie löste mein Problem, die Hoffnung funktioniert auch für dich. Aus diesem Thema

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.