2014-02-26 25 views
1

我是Android的新手。如何無效(儘可能安靜)去其他活動?

至於我的關注,當我們使用這樣的意圖開始活動:

Intent masuk=new Intent(getApplicationContext(),Destination.class); 
startActivity(masuk); 

這將創建一個效果(任何叫)。在我的節目中,我想讓這種效果消失。 你能告訴我正確的方法嗎?

回答

3

您可以使用intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);

醫生說 -

公共靜態最終詮釋FLAG_ACTIVITY_NO_ANIMATION

如果傳遞給Context.startActivity()的意圖設置,該標誌將阻止系統應用活動過渡動畫去下一個活動狀態。

這並不意味着動畫永遠不會運行 - 如果在顯示活動開始之前沒有指定此標誌的另一個活動更改發生,那麼將使用該過渡。當您要執行一系列活動操作時,可以很好地使用此標誌,但用戶看到的動畫不應該由第一個活動更改驅動,而應該由後者驅動。

所以,簡單地做,

Intent masuk=new Intent(getApplicationContext(),Destination.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
startActivity(masuk); 
+0

這就是我想要的東西:d +1 – studentknight

+0

感謝。如果它對你有幫助,你甚至可以接受我的答案。 :) –

+0

Infact你可以接受任何人幫助你的答案。 :)所有答案都是正確的。 :) –

2

在startActivity()之後調用此Activity方法;

overridePendingTransition(0, 0); 

應用程序將在未來的活動而移動,沒有任何過渡

1

如果你想要爲所有Actvities過渡刪除的動畫,而不是要求每次更改一行代碼,你可以將它設置在您的應用主題:

<style name="AppBaseTheme" parent="android:Theme.Light"> 
    <item name="android:windowAnimationStyle">@null</item> 
</style> 

然後設置你的清單主題:

<application 
    android:theme="@style/AppBaseTheme" > 
    ... 
</application> 
+0

謝謝4提供了另一種方式來做到這一點。 +1 – studentknight