防止 Android 活动对话框在外部触摸时关闭

新手上路,请多包涵

我有一个使用 Theme.Dialog 样式的活动,因此它是另一个活动上的浮动窗口。但是,当我在对话框窗口外单击时(在后台活动上),对话框关闭。我怎样才能阻止这种行为?

原文由 Fergusmac 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 689
2 个回答

这可以帮助你。这是一种处理外部触摸事件的方法:

如何在窗口外触摸时取消以 Activity 为主题的对话框?

通过捕捉事件而不做任何事情,我认为你可以防止关闭。但奇怪的是,您的活动对话框的默认行为应该是在您触摸外部时 不会 自行关闭。

(PS:代码中使用了WindowManager.LayoutParams)

原文由 Michel-F. Portzert 发布,翻译遵循 CC BY-SA 3.0 许可协议

为了防止对话框在按下后退键时被关闭,请使用此

dialog.setCancelable(false);

并防止对话框在外部触摸时被关闭,使用这个

 dialog.setCanceledOnTouchOutside(false);

原文由 Singhak 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题