Android, how to disable the 'wipe' effect when starting a new activity?

前端 未结 3 1889
借酒劲吻你
借酒劲吻你 2021-02-06 15:32

In my application, how do I disable the transition animation that shows the new activity layout enter from the right and the old one exit to left?

Versions 2.0 -> 2.2 if

相关标签:
3条回答
  • 2021-02-06 15:50

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

    0 讨论(0)
  • 2021-02-06 16:04

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

    }

    0 讨论(0)
  • 2021-02-06 16:06

    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 讨论(0)
提交回复
热议问题