2011-03-04 34 views
6

我想重新創建類似於Swing GlassPane的功能,以便在用戶通常在「以下」使用應用程序時能夠顯示動畫。我不能簡單地創建一個單獨的佈局並將其附加到每個活動,因爲動畫狀態在切換活動時會丟失。 有沒有一種方法可以持續查看Android應用程序的所有活動?Android - 顯示所有活動的持久視圖

謝謝。

回答

1

沒有它沒有。每個活動都在其自己的線程中運行,並且設計應該是可獨立運行的。

但是,您可以將動畫狀態保存到數據庫或sharedPreferences中,並在新活動中啓動它。

你也可以做的是使用微調或其他控制,而不是單獨的活動。然後你可以有一個持久的觀點。

+0

是的,我想過使用對話框或類似,但它總是需要被連接到一個特定的活動,所以切換到另一個活動時,它是隱藏的。 – janin 2011-03-04 16:37:21

+0

我不知道這是否屬實 - 看看Zedge應用程序。不知道他們是如何做的 - 但他們顯示的持續導航在活動之間進行動畫處理時不會被換出。如果我弄清楚它是如何完成的,我會在這裏發佈。編輯:他們的新應用程序不再出現這樣做;請聽我的話;) – 2011-05-03 18:22:41

+0

你確定,他們是在不同的活動之間進行動畫製作嗎?在許多情況下,微調者可能看起來像使用了多項活動。 – Chris 2011-05-04 11:37:56

0

爲什麼不在TabActivity中思考?

嗨!我之前用TabActivity做這件事,從來沒有一個唯一的活動,總是與我開始許多活動,讓他們的窗戶和設置爲我的TabActivity窗口的裝飾視圖...我沒有測試下面的代碼,因爲是一個想法,但也許最近(當我將在家裏)我會寫一個例子...

所以,我的想法... TabActivity是由TabWidget和FrameLayout組成的,其中活動的窗口被分配。

TabWidget可以是任何視圖,因此,您可以在這裏放置動畫視圖。

最困難的事情是,如果您從TabActivity的孩子開始活動,那麼新活動將位於TabActivity之上。爲了覆蓋此行爲,TabActivity必須知道嵌套活動何時想要啓動另一個活動。發生這種情況時,TabActivity必須清除裝飾視圖(使用舊窗口活動)並放置新裝飾視圖。事情是這樣的:在兒童活動

,推出新的活動,當我們點擊一​​個按鈕:現在 ...上點擊收聽...

((MyTabActivity)getParent()).createNewActivity("NewActivity", NewActivity.class); 

,we're稱TabActivity那它必須開始新的活動,得到了新的活動裝飾觀點,把TabActivity裝飾視圖內這一觀點......所以,在createNewActivity將這樣執行的東西:

public void createNewActivity(String activityId, Class<?> class1) { 
    Intent intent = new Intent(getIntent().getAction()).setClass(MyTabActivity.this, class1); 
    Window wList = getLocalActivityManager().startActivity(activityId, intent); 
    getWindow().setContentView(wList.getDecorView()); 
} 

希望你能理解我。

我會寫一個例子後

相關問題