在 2 个不同的活动上显示一个对话框

Display a Dialog over 2 different activities

我有一个游戏菜单,一个 activity,一个实际的游戏,另一个 activity。

我还有一个显示 "Loading..." 文本和纺车的自定义对话框 class。 (我可以添加代码,但它几乎与普通的 ProgressDialog 相同。没有什么特别之处)。

我希望从菜单 activity 开始显示此对话框(加载时),并在过渡到游戏后继续显示此对话框 activity - 直到游戏完成加载。

这有可能吗?我没有找到将对话框扩展到 2 个活动的方法。好像绑定了一个

也许你应该使用浮动对话框、问题和答案 - How to add a floating view to Android Window manager and listen to System/Hardware back button events

祝你好运

我不认为对话可以用两个活动来扩展,它实际上需要 activity 到 运行 的上下文。所以如果 activity 被销毁它会自动泄漏。

找到方法的请post回答

Is that even remotely possible?

据我所知没有。 Dialog 是一个 UI 元素,因此存在于创建它的 Activity 的 'window' 中。开始一个新的 Activity 显然意味着它将覆盖前一个和当前显示的任何 Dialog

在我看来,只有两种简单的方法可以满足您的需求...

  1. 确保 'loading' 你的游戏是 运行 在某个单独的地方(服务等)并且两个活动都可以访问进度然后简单地销毁第一个 Dialog 当第二个 Activity 启动时,创建一个新的 Dialog 并让它从第一个停止的地方开始(包括进度、消息等)。

  2. 如果您的菜单和主要游戏可以由 Fragments 主持,那么只需在单个 [=11] 内将菜单 Fragment 换成游戏 Fragment =].这样 Dialog 将继续存在而不会中断。