Animazione di transizione tra le attività utilizzando FLAG_ACTIVITY_CLEAR_TOP

Nella mia app android, sto facendo un metodo che pop tutte le attività e apre la prima attività.

Io uso questo codice:

Intent intent = new Intent(this, MMConnection.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
this.startActivity(intent);

Come ho notato che il passaggio era ancora da sinistra a destra, animazione, qualcuno sa se c’è un modo per cambiare il sistema di animazione di quando si avvia un’attività?

In realtà, mi piacerebbe idealmente come avere una destra a sinistra di transizione (come quando il ritorno si tocca il pulsante)

grazie per l’aiuto!

 

4 Replies
  1. 45

    CoolMcGrr è di destra, che si desidera utilizzare overridePendingTransition(int enterAnim, int exitAnim).

    Specificamente per ottenere lo standard “tasto indietro” di transizione, io uso questi, come il enterAnim e exitAnim transizioni:

    push_right_in.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
        <translate android:fromXDelta="-100%p" android:toXDelta="0" android:duration="@android:integer/config_shortAnimTime"/>
        <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="@android:integer/config_shortAnimTime" />
    </set>

    push_right_out.xml

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
        <translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="@android:integer/config_shortAnimTime"/>
        <alpha android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="@android:integer/config_shortAnimTime" />
    </set>
    • Sembra essere una risposta migliore di me, di E-Riz effettivamente risposto alla domanda piuttosto che postare un link con CoolMcGrrr fatto. Poi, di nuovo, E-Riz è stato di 8 mesi per rispondere.
    • più tardi, ma la risposta migliore
    • Dove vorresti chiamare il overridePendingTransition? Prima o dopo startActivity?
    • basta leggere il Javadoc: developer.android.com/reference/android/app/…, int)
  2. 6

    Problema si verifica oggi, perché pre-ICS e ICS hanno diverse attività integrate transizioni.
    Questo è molto più pulita rispetto a definizione di animazione e SDK indipendente:

    Intent intent = new Intent(this, MMConnection.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NO_ANIMATION);
    this.startActivity(intent);
    finish();

    Iniziare l’attività (ancora visibile) e giocare di attività “fine” di transizione per la nuova attività.

Lascia un commento