改变android中的活动重点

改变android中的活动重点,android,Android,我在android中使用一个对话框主题的活动来显示应用程序上下文中的弹出窗口。对话框有一个透明的主题,但问题是我希望底层活动有焦点,而不是弹出窗口,尽管弹出窗口必须是可视的。如何在android中实现这一点?我认为您必须使用片段,使其看起来像一个弹出对话框。您不能在活动之间切换焦点。此时只有一个“聚焦”活动,即此时显示的活动。透明的背景并不意味着你可以访问下面的活动 如果我没有弄错,您希望能够在屏幕上显示“对话框”的同时与活动的控件交互。来自Android的任何对话类都不会有帮助,因为它们会带走

我在android中使用一个对话框主题的活动来显示应用程序上下文中的弹出窗口。对话框有一个透明的主题,但问题是我希望底层活动有焦点,而不是弹出窗口,尽管弹出窗口必须是可视的。如何在android中实现这一点?

我认为您必须使用片段,使其看起来像一个弹出对话框。

您不能在活动之间切换焦点。此时只有一个“聚焦”活动,即此时显示的活动。透明的背景并不意味着你可以访问下面的活动

如果我没有弄错,您希望能够在屏幕上显示“对话框”的同时与活动的控件交互。来自Android的任何对话类都不会有帮助,因为它们会带走焦点。我不太确定PopupWindow,但我猜会和文档中说的一样


您必须在活动中使用相对布局/框架布局创建自定义对话框。

但是,即使我使用相对布局创建自定义对话框,当我弹出它时,底层元素不会失去焦点,弹出窗口会处于焦点位置,或者我错了您的父视图应该是相对布局或框架布局,而不是对话框本身。因此,只需在其余视图的顶部添加一个新视图即可。您将可以访问所有UI元素,并且您可以请求焦点或与其中任何元素交互。我正在使用对话框主题活动中的相对布局,然后将其弹出。虽然我能够控制底层元素,但这是因为我添加了flag flag_NOT_TOUCH_MODAL,背景活动仍会变暗并失去焦点。有什么办法克服这个问题吗?你正在使用一个新的活动,句号。无论发生什么,该活动都将保持在前一活动的基础上。启动新活动时,您无法完成您想要的任务。唯一的方法是在活动布局中使用视图,并相应地显示或隐藏它。问题是我正在从广播接收器调用该对话框。我无法在不调用新活动的情况下弹出对话框,因为调用对话框需要活动上下文,而我只有应用程序上下文