Dans mon Android, je crée une méthode qui affiche toutes les activités et affiche 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 j'ai remarqué que la transition était toujours une animation de gauche à droite, quelqu'un sait-il s'il existe un moyen de changer l'animation du système lors du démarrage d'une activité?
En fait, j'aimerais idéalement avoir une transition de droite à gauche (comme lorsque vous appuyez sur le bouton de retour)
merci pour l'aide!
CoolMcGrr a raison, vous voulez utiliser overridePendingTransition(int enterAnim, int exitAnim)
.
Pour obtenir spécifiquement la transition "bouton retour" standard, je les utilise comme transitions enterAnim
et exitAnim
:
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>
Vous devriez jeter un oeil Activity.overridePendingTransition () .
Bien sûr, cela nécessite que vous exécutiez au moins la version 2.0 du SDK.
Le problème se produit de nos jours car pre-ICS et ICS ont des transitions d'activité intégrées différentes. C'est beaucoup plus propre que de définir votre propre animation et indépendante du 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 démarrera l'activité (pas encore visible) et jouera la transition "fin d'activité" vers la nouvelle activité.
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 également en voir plus dans ce Blog .