我想在活动上显示一个对话框,但在显示对话框时仍想与后台活动交互以执行某些操作。如何才能做到这一点?
问问题
1414 次
4 回答
1
使用DialogFragment,这是一个显示对话窗口的片段,浮动在其活动窗口的顶部。该片段包含一个 Dialog 对象,它会根据片段的状态适当地显示该对象。对话框的控制(决定何时显示、隐藏、关闭它)应该通过这里的 API 来完成,而不是直接调用对话框,所以你的 Activity 仍然处于控制之中。
于 2013-05-22T21:41:03.173 回答
0
ADialog
仍然是相同的部分Activity
。他们只是使用不同的窗口。
由于您还没有发布任何代码,我理论上会回答您,在构建 you 时Dialog
,您应该保留对Activity
持有它的引用。这样你仍然可以与它通信。
于 2013-05-22T21:37:35.670 回答
0
对于这个问题,我找到了一个非常巧妙的解决方法。如果您在所有内容之上放置一个透明视图,您可以实现回调以将事件注入底层视图,但它不一定是事件,它可以是您想要在背景视图上执行的任何代码。我有一个开源库来演示这一点。如果你在https://bitbucket.org/warwick/hgdialrepo查看我的 repo,你会发现这个库带有一个演示应用程序。在此演示应用程序中,您将找到一个 cog 演示。如果您检查 cog 演示背后的代码,您将了解如何实现这一点。
于 2015-07-29T08:05:45.490 回答