OverridePendingTransition zeigt die zweite Aktivität zu schnell

Ich habe 2 Aktivitäten, und ich möchte einen animierten Übergang zwischen den beiden Aktivitäten zu schaffen, so dass die Ansichten der Aktivitäten gleitet, als ob die zweite Aktivität drückt die erste Aktivität nach oben. In meiner ersten Aktivität benutze ich:

Intent iSecondActivity = new Intent(FirstActivity.this,SecondActivity.class); FirstActivity.this.startActivity(iSecondActivity); FirstActivity.this.overridePendingTransition(R.anim.slide, R.anim.slide2); 

Und meine slide.xml sieht aus wie:

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator"> <translate android:interpolator="@android:anim/decelerate_interpolator" android:fromYDelta="0" android:toYDelta="-100%p" android:duration="2000" /> </set> 

Und meine slide2.xml sieht aus wie:

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator"> <translate android:interpolator="@android:anim/decelerate_interpolator" android:fromYDelta="100%p" android:toYDelta="0" android:duration="2000" /> </set> 

JEDOCH ist das Problem, dass, wenn die "startActivity" aufgerufen wird, die Ansicht der zweiten Aktivität bereits gerendert wird, während der Übergang gerade anfängt zu gleiten. Ich würde gerne sehen, die erste Aktivität die Ansicht nach oben … aber stattdessen sehe ich die zweite Aktivität die Ansicht (gerendert über die Ansicht der ersten Aktivität) nach oben.

Das zweite Problem ist, dass ich die Ersatzansicht sehen, die die Ansicht der ersten Aktivität ist. Ich möchte die Ersatzansicht, um die Ansicht der zweiten Aktivität zu sein, die nach oben drückt.

Es ist schwer zu erklären, also lass es mich wissen, wenn ich etwas näher erklären kann. Entschuldigung für jede Verwirrung, und danke dafür.

PS Ich bin mit Textansichten … Ich denke, das macht zu schnell? Ich bin auch mit Motorola Razr, nicht, dass es wichtig sein sollte.

  • Wie man die Ansicht auf den ursprünglichen Zustand zurücksetzt, nachdem du Animatoren benutzt hast, um seine Eigenschaften zu animieren?
  • So geben Sie prozentuale Werte in ObjectAnimator in Android an
  • Android und die horizontale Markierungsrate des TextViews
  • Animieren eines benutzerdefinierten Dialogs
  • Animation nicht starten, bis UI aktualisiert oder Touch-Ereignis
  • Wiederholen Sie AnimatorSet
  • Wie kann man Text schreiben Animation?
  • Wie man die Textansicht blinkt
  • 2 Solutions collect form web for “OverridePendingTransition zeigt die zweite Aktivität zu schnell”

    Nevermind, das war ein dummer Fehler – ich habe nicht verstanden, was die Dokumentation mit "Animation" vs "beendende Animation" bedeutete. Ich muss die xmls tauschen, indem ich:

     FirstActivity.this.overridePendingTransition(R.anim.slide, R.anim.slide2); 

    in

     FirstActivity.this.overridePendingTransition(R.anim.slide2, R.anim.slide); 

    Füge einfach diese zu deiner slide2.xml hinzu:

     android:startOffset="2000" 

    Auf diese Weise wird die Animation für die 2. Aktivität erst nach dem Erreichen der Animation Ihrer 1. Aktivität beginnen.

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