2010-07-06 72 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:不要用它來放火燒一個孤兒院,請:)