Android, how to disable the 'wipe' effect when starting a new activity?
In my application, how do I disable the transi开发者_运维技巧tion animation that shows the new activity layout enter from the right and the old one exit to left?
Versions 2.0 -> 2.2 if relevant.
CaseyB response is good we can set an animation
getWindow().setWindowAnimations(int);
but since Android SDK 2.0 you will use overridePendingTransition(), to change the transition animation, this is an example loading my App from the SplashScreen.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.SplashScreen);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent mainIntent = new Intent(SplashScreen.this, AndroidNews.class);
SplashScreen.this.startActivity(mainIntent);
SplashScreen.this.finish();
overridePendingTransition(R.anim.mainfadein,
R.anim.splashfadeout);
}
}, 3000);
}
}
Add this flag to your intent: android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION.
Android docs states:
If set in an Intent passed to Context.startActivity(), this flag will prevent the system from applying an activity transition animation to go to the next activity state.
BTW: don't use it to set fire to an orphanage please :)
You can tell the OS what kind of animation you want to use to bring your activity up, or none at all. Just use:
getWindow().setWindowAnimations(int);
精彩评论