transition d'animation entre les activités utilisant FLAG_ACTIVITY_CLEAR_TOP

voix
33

Dans mon application Android, je fais une méthode pop toutes les activités et mettre en place la première activité.

J'utilise ce code:

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

Comme je l'ai remarqué que la transition était encore à gauche à l'animation à droite, ce que quelqu'un sait s'il y a un moyen de changer l'animation du système lors du démarrage d'une activité?

En fait, je voudrais idéalement avoir droit à la transition à gauche (comme lorsque le bouton de retour est prélevé)

Merci pour l'aide!

Créé 17/08/2010 à 17:16
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
45

CoolMcGrr est juste, vous voulez utiliser overridePendingTransition(int enterAnim, int exitAnim).

Pour obtenir plus précisément la norme de transition « bouton retour », je les utilise comme enterAnimet exitAnimtransitions:

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>
Créé 27/06/2011 à 18:47
source utilisateur

voix
8

Vous devriez jeter un oeil Activity.overridePendingTransition () .

Bien sûr, cela exige que vous exécutez au moins la version 2.0 du SDK.

Créé 12/10/2010 à 10:29
source utilisateur

voix
6

J'ai utilisé ce code:

overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);

Vous pouvez voir ces exemples dans GmailAnimation ou LopeAnimations . Vous pouvez aussi voir plus dans ce blog .

Créé 04/09/2014 à 16:46
source utilisateur

voix
6

Problème se produit de nos jours parce que pré-ICS et ICS ont des transitions d'activité intégrées. Cela est beaucoup plus propre que la définition de votre propre indépendant d'animation et SDK:

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

Cela va démarrer l'activité (non visible encore) et jouer la transition « de fin d'activité » à la nouvelle activité.

Créé 22/10/2012 à 07:37
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more