开发者

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);

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜