2011-09-29 32 views
15

我還沒有在android動畫中工作。我想從android中的一個活動切換到另一個活動。我想要將動作從底部切換到頂部的動畫,如滑塊。在Android中切換動畫時的動畫?

是否有可能?

在此先感謝

回答

22

是的,這是可能的。 check out this question.你必須定義在動畫文件夾中的動畫比你可以使用

overridePendingTransition(R.anim.slide_in_up, R.anim.slide_out_up); 
1

切換到另一個活動時,您會獲得一個側身動畫基本上是免費的。這會足夠嗎?

+0

我應該怎麼做? –

+1

你不... Android會爲你做。 –

+0

但我從來沒有見過活動之間的橫向切換,告訴我我缺少什麼 –

8

,當你使用這個

overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 

你也可以得到同樣的動畫,如果去別的活動可以設定動畫在此改變當前動畫你來自最後一項活動之前的活動回來重寫方法

@Override 
    public void onBackPressed() { 
     super.onBackPressed(); 
     overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); 

    } 
+1

實際上你必須切換兩條線。在super.onBackPressed()後調用overridePendingTransition() – Randalfien

+0

@Randalfien完成它。謝謝 – Dharmendra

+0

我想知道爲什麼他們應該先調用'super'並僅在'override'後面?從第一眼看起來,首先「超越」轉換,然後實際觸發轉變似乎更符合邏輯,不是嗎? –

0

您可以覆蓋public boolean onOptionsItemSelected(MenuItem item)功能,和u se finish()其次是overridePendingTransition()
例如,添加在您的活動如下代碼:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
    case android.R.id.home: // navigation up. 
     finish(); 
     overridePendingTransition(R.anim.ENTER_ANIMATION, R.anim.EXIT_ANIMATION); 
     return true; 
    case ....: // implementation of other menu items. 
    } 
    return super.onOptionsItemSelected(item); 
} 

另一種方式是覆蓋public boolean onNavigateUp()功能。但onNavigateUp()僅適用於API級別16及以上。