3D-Flip-Animation auf android.support.v4.Fragment

Ich lese gerade dieses Tutorial:

Http://developer.android.com/training/animation/cardflip.html

  • Konvertierung von GLSurfaceView zu TextureView (via GLTextureView)
  • Wie man eine Dichte aus der Android-Bibliothek zieht
  • Android Kindansicht ignorieren Elternteilung
  • Android SSLServerSocket verursacht zunehmenden nativen Speicher in der App, OOM
  • GCM mit PHP (Google Cloud Messaging)
  • Was ist die richtige Größe icon für drawable-xxhdpi?
  • Auf Flip Animationen von Fragmenten . Leider ist der Objekt-Animator nur für android.app.Fragment verfügbar, und nicht die Unterstützung Fragment.

    Ich habe versucht, die .xml-Animationen mit Skalen- und Rotationsanimationen zu rekonstruieren. Aber jetzt sind die Animationen einfach nicht ausgeführt, und nach der Zeit, die ich in die Animationen gesetzt habe. XML-Datei geht, das andere Fragment erscheint, anstatt zu spiegeln.

    • Habe ich einfach einen falschen Einsatz bei der Umsetzung der .xml Animationen gemacht?
    • Oder ist es nicht möglich, eine 3D-Flip-Animation ohne Objekt-Animator zu machen?
    • Oder ist es nicht möglich, eine 3D-Flip-Animation mit dem Support-Fragment zu machen?

    Hier sind meine .xml Animationen: flip_left_in.xml

    <set xmlns:android="http://schemas.android.com/apk/res/android" > <!-- Before rotating, immediately set the alpha to 0. --> <alpha android:valueFrom="1.0" android:valueTo="0.0" android:propertyName="alpha" android:duration="0" /> <!-- Rotate. --> <rotate android:valueFrom="-180" android:valueTo="0" android:propertyName="rotationY" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:duration="800"/> <!-- Half-way through the rotation (see startOffset), set the alpha to 1. --> <alpha android:valueFrom="0.0" android:valueTo="1.0" android:startOffset="400" android:duration="1" /> </set> 

    Flip_left_out.xml

      <set xmlns:android="http://schemas.android.com/apk/res/android" > <!-- Rotate. --> <rotate android:duration="800" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:propertyName="rotationY" android:valueFrom="0" android:valueTo="180" /> <!-- Half-way through the rotation (see startOffset), set the alpha to 0. --> <alpha android:duration="1" android:propertyName="alpha" android:startOffset="400" android:valueFrom="1.0" android:valueTo="0.0" /> </set> 

    Flip_right_in.xml

     <set xmlns:android="http://schemas.android.com/apk/res/android" > <!-- Before rotating, immediately set the alpha to 0. --> <alpha android:duration="0" android:propertyName="alpha" android:valueFrom="1.0" android:valueTo="0.0" /> <!-- Rotate. --> <rotate android:duration="800" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:propertyName="rotationY" android:valueFrom="180" android:valueTo="0" /> <!-- Half-way through the rotation (see startOffset), set the alpha to 1. --> <alpha android:duration="1" android:propertyName="alpha" android:startOffset="400" android:valueFrom="0.0" android:valueTo="1.0" /> </set> 

    Flip_right_out.xml

     <set xmlns:android="http://schemas.android.com/apk/res/android" > <!-- Rotate. --> <rotate android:duration="800" android:interpolator="@android:anim/accelerate_decelerate_interpolator" android:propertyName="rotationY" android:valueFrom="0" android:valueTo="-180" /> <!-- Half-way through the rotation (see startOffset), set the alpha to 0. --> <alpha android:duration="1" android:propertyName="alpha" android:startOffset="400" android:valueFrom="1.0" android:valueTo="0.0" /> </set> 

    Und hier ist der Code, wo sie ausgeführt werden:

     FragmentTransaction trans = getActivity().getSupportFragmentManager().beginTransaction(); trans.setCustomAnimations(R.anim.flip_right_in, R.anim.flip_right_out, R.anim.flip_left_in, R.anim.flip_left_out); trans.addToBackStack(null); trans.replace(R.id.content_frame, new MyFragment()).commit(); 

  • Wie kann ich programmgesteuert feststellen, ob eine App im Play Store auf dem aktuellen Gerät installiert werden kann?
  • Die beliebtesten Bildschirmauflösungen / Verhältnisse zwischen Android Tabletten und smarthphones
  • Android 5.0 / Lollipop: Force Rescan von / System / priv-app
  • Wie Handler Klassen in Android arbeiten
  • Wie richtig verwendet -webkit-device-pixel-ratio auf iOS und Android?
  • Fragment in ViewPager mit FragmentPagerAdapter ist das zweite Mal, wenn es angezeigt wird
  • 3 Solutions collect form web for “3D-Flip-Animation auf android.support.v4.Fragment”

    Sie können NineOldAndroids verwenden . Es backt die Honeycomb (Android 3.0) Animation API den ganzen Weg zurück zu Android 1.0. Du bekommst ObjectAnimator, ValueAnimator und alle anderen guten Sachen.

    Vielen Dank für Ihre Hilfe.

    Ich habe es geschafft, mein Problem zu lösen. Die Lösung hat mit NineOldAndroids und einer anderen Bibliothek mit Unterstützung-v4 Unterstützung für NineOldAndroids zu tun.

    Was ich getan habe:

    • Ich habe diese Bibliothek heruntergeladen: https://github.com/kedzie/Support_v4_NineOldAndroids (Dies ist eine Support-Bibliothek für NineOldAndroids)
    • Importierte es in meinen Arbeitsbereich
    • Laden Sie die NineOldAndroids-Bibliothek herunter und importierten sie in meinen Arbeitsbereich
    • Importiert die NineOldAndroids-Bibliothek in die support-v4-Bibliothek
    • Importiert die Unterstützung-v4-nineoldandroids Bibliothek in mein Projekt
    • Ist die Filp-Animation

    Falls sie unterhalb von api <3 nicht unterstützt werden

    Benutze den gleichen Code wie in: https://stuff.mit.edu/afs/sipb/project/android/docs/training/animation/cardflip.html

    Nur die FlipCard-Methode an:

     private void flipCard() { if (mShowingBack) { mShowingBack = false; FragmentTransaction trans = getActivity().getFragmentManager().beginTransaction(); trans.setCustomAnimations(R.animator.card_flip_right_in, R.animator.card_flip_right_out, R.animator.card_flip_left_in, R.animator.card_flip_left_out) .replace(R.id.memberCardContainer, new CardFrontFragment()) .commit(); return; } // Flip to the back. mShowingBack = true; FragmentTransaction trans = getActivity().getFragmentManager().beginTransaction(); trans.setCustomAnimations(R.animator.card_flip_right_in, R.animator.card_flip_right_out, R.animator.card_flip_left_in, R.animator.card_flip_left_out) .replace(R.id.memberCardContainer, new CardBackFragment()) .commit(); } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.