2014-05-04 185 views
2

我已經編寫了一個android應用程序,一切正常,可以免除一件事:當我從一個活動切換到另一個活動時,它會讓此「活動打開」動畫,像新應用程序一樣打開。有沒有辦法在沒有該動畫的情況下打開一個活動?由於如何在沒有動畫的情況下打開Android活動

+0

使用片段,它們更適合您的需求。更多詳情[Here](http://developer.android.com/guide/components/fragments.html) – Skynet

回答

7

你可以嘗試使用FlagIntent如下:

Intent intent = new Intent(Activity1.this, Activity2.class); 
intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); 
startActivity(intent); 

但要記住:

如果在傳遞給上下文的意圖設置。 startActivity(),該標誌將阻止系統應用活動轉換動畫轉到下一個活動狀態。 這並不意味着動畫永遠不會運行 - 如果在顯示活動開始之前沒有指定此標誌的其他活動發生變化,則將使用該轉換。當您要執行一系列活動操作時,可以很好地使用此標誌,但用戶看到的動畫不應該由第一個活動更改驅動,而應該由後者驅動。

或者你可以定義一個custom animation in your style@android:style/Animation.Activity父母作爲@null參數,你不想要的動畫。

1

開始意圖後,您可以使用:

overridePendingTransition(0, 0); 

要刪除任何動畫。第一個參數用於動畫開放活動,第二個參數用於返回的活動。均指動畫資源

+0

添加Intent.FLAG_ACTIVITY_NO_ANIMATION有助於除家庭活動外的所有活動。這個命令解決了它。 –

相關問題