Can I change the Android startActivity() transition animation? Can I change the Android startActivity() transition animation? android android

Can I change the Android startActivity() transition animation?


Starting from API level 5 you can call overridePendingTransition immediately to specify an explicit transition animation:

startActivity();overridePendingTransition(R.anim.hold, R.anim.fade_in);

or

finish();overridePendingTransition(R.anim.hold, R.anim.fade_out);


See themes on android: http://developer.android.com/guide/topics/ui/themes.html.

Under themes.xml there should be android:windowAnimationStyle where you can see the declaration of the style in styles.xml.

Example implementation:

<style name="AppTheme" parent="...">    ...    <item name="android:windowAnimationStyle">@style/WindowAnimationStyle</item></style><style name="WindowAnimationStyle">    <item name="android:windowEnterAnimation">@android:anim/fade_in</item>    <item name="android:windowExitAnimation">@android:anim/fade_out</item></style>


In the same statement in which you execute finish(), execute your animation there too. Then, in the new activity, run another animation. See this 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>

In your finish-class

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>

In your new Activity-class you create a similiar method like the runFadeAnimation I wrote and then you run it in onCreate and don't forget to change the resources id to fadeout.