2010-07-06 74 views
4

在我的应用程序中,如何禁用显示新活动布局的过渡动画从右侧输入并且旧的输出从左侧输入?Android,如何在开始新活动时禁用“擦除”效果?

版本2.0 - > 2.2如果相关。

+0

可以帮助你:http://stackoverflow.com/questions/881195/android-disable-1-5-cupcake - 动画转换 – Sephy 2010-07-06 15:45:16

+0

在发布之前我看到了。不幸的是没有帮助。 – 2010-07-06 16:00:59

+0

请问你为什么要这样做? – alexanderblom 2010-07-06 17:11:07

回答

5

CaseyB反应良好,我们可以设置动画

getWindow().setWindowAnimations(int); 

但由于Android SDK 2.0,您将使用overridePendingTransition(),改变过渡动画,这是一个示例从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

看起来不错,我会看看。 – 2010-07-06 20:33:20

4

这个标志添加到您的意图:android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION

Android的文件规定:

如果在()传递给Context.startActivity一个Intent设置,该标志将阻止系统应用活动过渡动画去到下一个活动状态。

BTW:不要用它来放火烧一个孤儿院,请:)