Android,如何在启动新活动时禁用“擦除”效果?

4
在我的应用程序中,我该如何禁用过渡动画,以便新的活动布局从右侧进入,旧的活动布局从左侧退出?适用版本为2.0->2.2。

这可能会对你有所帮助:http://stackoverflow.com/questions/881195/android-disable-1-5-cupcake-animation-transitions - Sephy
发布前我已经看过了,但很不幸并没有什么帮助。 - Jim Blackler
我可以问一下你为什么要这样做吗? - alexanderblom
3个回答

6

CaseyB的回答很好,我们可以设置一个动画效果。

getWindow().setWindowAnimations(int);

但是自从Android SDK 2.0以后,您将使用overridePendingTransition()来更改过渡动画。以下是从启动屏幕加载我的应用程序的示例。

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

}


5
将此标志添加到您的意图中:android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION
Android文档说明:
如果在传递给Context.startActivity()的Intent中设置了此标志,则该标志将防止系统对下一个活动状态应用活动转换动画。
顺便说一下:请不要用它点燃孤儿院 :)

4

你可以告诉操作系统,想使用何种动画效果展示你的活动页面,或者干脆不使用任何动画效果。只需要使用以下代码:

getWindow().setWindowAnimations(int);


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接