android屏幕后退按钮上的导航

时间:2011-11-05 18:29:38

标签: android android-activity android-intent

我有3个屏幕(xmls):

  1. 屏幕1 是主菜单,
  2. 屏幕2 是主要游戏
  3. 屏幕3 显示游戏结束屏幕或游戏结束,屏幕3的背景在屏幕2顶部模糊透明。
  4. 所有这些导航都在创建新活动(视图)并使用意图进入下一个屏幕。

    问题1:如果我继续创建新活动,只要用户转到屏幕1到屏幕2并完成游戏,屏幕3将有新游戏选项,这将创建屏幕2的新活动,在这种情况下,堆栈会更多,并且要离开游戏用户应按下更多数量的按钮(堆栈数字)。我想知道虽然游戏创建了多个活动,但在堆栈中只能保留3个屏幕(或者当用户点击后退按钮3次时,游戏应该出来)

    问题2:当屏幕2顶部的模糊屏幕3应该转到主屏幕(屏幕1)时,用户点击后退按钮,按照当前阶段,当我点击后退按钮时,它将转到屏幕2(来自模糊的屏幕3,这对我没有意义)

    由于

2 个答案:

答案 0 :(得分:1)

您要做的是将这些活动的启动模式设置为清单中的单个顶部。在每个活动的清单集android:launchMode=singleTop中,您只需要一个实例。有关详细信息,请结帐this

答案 1 :(得分:1)

问题1:为清单中的每个活动代码撰写android:launchMode="singleTop"。这样可以避免在历史堆栈中创建多个实例,只保留最新的条目。

问题2 在清单的Screen2活动标记中写入android:noHistory="true",以便历史堆栈中没有Screen2的条目,并且在屏幕3上按下将显示屏幕1。也看看Intent.FLAG_ACTIVITY_NO_HISTORY