2011-11-05 152 views
0

我有3個屏幕(個XML):機器人屏幕導航

  1. 屏幕1個是主菜單,
  2. 屏幕2是主遊戲和
  3. 屏幕3是在屏幕或遊戲結束時顯示遊戲,屏幕3的背景在屏幕2上方變得透明。

所有這些導航都在創建新的活動(視圖)並使用意圖進入下一個屏幕。

問題1:如果我不斷創造新的活動,只要用戶去屏幕1到屏幕2和完成遊戲和屏幕3將不得不選擇新的遊戲,這將創建屏幕2的新的活動,在這種情況下,堆棧會更多,並且要離開遊戲用戶,應該按更多數字(堆棧號)中的後退按鈕。我想知道雖然遊戲創建了多個活動,在棧只有3個屏幕應保留(或當用戶單擊後退按鈕3次,遊戲應該出來)

problem2:用戶點擊後退按鈕時,模糊的屏幕3在畫面2應到主屏幕(屏幕截圖1),按當前階段,頂部當我點擊後退按鈕它會屏蔽2(從模糊的畫面3,這是沒有意義對我來說)

感謝

回答

1

問題1:爲清單中的每個活動標記寫android:launchMode="singleTop"。這將避免創建多個實例到歷史堆棧中,只會保留最新的條目。

問題2android:noHistory="true"在清單畫面2活性標記,因此會有在歷史堆棧和背部按下屏幕2沒有條目上SCREEN3將顯示屏幕1。也看看Intent.FLAG_ACTIVITY_NO_HISTORY

1

什麼你想要做的是將這些活動的啓動模式設置爲清單中的單個頂層。在您的清單集android:launchMode=singleTop中,您只需要一個實例。欲瞭解更多信息,結賬this