Dans la même déclaration dans laquelle vous exécutez finish(), exécutez votre animation là aussi. Ensuite, dans la nouvelle activité, exécutez une autre animation. Voyez ce code :
fadein.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<alpha android:fromAlpha="1.0"
android:toAlpha="0.0"
android:duration="500"/> //Time in milliseconds
</set>
Dans votre classe d'arrivée
private void finishTask() {
if("blabbla".equals("blablabla"){
finish();
runFadeInAnimation();
}
}
private void runFadeInAnimation() {
Animation a = AnimationUtils.loadAnimation(this, R.anim.fadein);
a.reset();
LinearLayout ll = (LinearLayout) findViewById(R.id.yourviewhere);
ll.clearAnimation();
ll.startAnimation(a);
}
fadeout.xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true">
<alpha android:fromAlpha="0.0"
android:toAlpha="1.0"
android:duration="500"/>
</set>
Dans votre nouvelle classe d'activité, vous créez une méthode similaire à la runFadeAnimation que j'ai écrite, puis vous la lancez dans onCreate et n'oubliez pas de changer l'id des ressources en fadeout.
1 votes
stackoverflow.com/questions/8319465/
0 votes
Pour la transition des diapositives
startActivity(intent);
overridePendingTransition(android.R.anim.slide_out_right, android.R.anim.slide_in_left);