2

我的活动 A 是一个游戏,它执行一些后台操作。当我在上下文菜单中按下一个按钮时,我想弹出一个“小窗口/对话框/子活动”(我们称之为 B),它出现在活动 A 的顶部并显示有关这些后台操作的一些数据。但我需要将注意力集中在活动 A 上,以便继续与它互动(玩游戏)。

本质上,我希望能够在玩游戏时看到B显示的数据。

我不确定如何实现这一点。阅读文档后,我得出以下结论:

  • 我知道我不能使用对话框,因为它有焦点。有可能避免这种情况吗?
  • 使用带有对话框主题的子活动,这是另一个看起来很诱人的选项......但我相信子活动具有焦点。同上。
  • 我的最后一个选择是尝试将带有我的数据的 LinearLayout 添加到主布局,“共享/拆分”屏幕。这并不漂亮,但至少我知道这是可能的。我不喜欢这种方法的是我使用屏幕的宽度和高度。

有什么建议么?解决方案?

PS:我在这里找到了一些与我的问题非常相关的线程:

4

2 回答 2

0

使用 style 创建一个 Activity Theme.Dialog。这是一个正常的活动,看起来像一个对话框,同时是无模式的并接受事件。

额外的问题在于设置WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL和重置WindowManager.LayoutParams.FLAG_DIM_BEHIND

有关完整示例,请参见此答案:定时无模式对话框

于 2011-11-03T18:39:56.443 回答
0

为什么不使用属于 Activity 的 FrameLayout?只需确保此视图具有更高的 z 索引(确保您在 XML 布局中最后声明它或在运行时创建它)。这样你就永远不会离开你的活动。

于 2011-11-04T11:10:52.360 回答