【发布时间】:2011-11-23 12:10:48
【问题描述】:
我在我的活动上方创建了一个自定义搜索对话框,并根据输入的文本更新了结果,但是由于搜索对话框仍然出现在屏幕上,因此活动没有响应用户触摸。
我认为由于对话框,活动无法获得用户触摸事件.. 那么有没有办法启用用户触摸呢?
谢谢...
【问题讨论】:
标签: android android-activity dialog
我在我的活动上方创建了一个自定义搜索对话框,并根据输入的文本更新了结果,但是由于搜索对话框仍然出现在屏幕上,因此活动没有响应用户触摸。
我认为由于对话框,活动无法获得用户触摸事件.. 那么有没有办法启用用户触摸呢?
谢谢...
【问题讨论】:
标签: android android-activity dialog
Dialog 是作为 Dialog 主题的透明 Activity 实现的,所以不要尝试获取后屏的处理程序。取而代之的是用视图替换对话框,并改变视图 VISIBLE/INVISIBLE/GONE 的可见性
【讨论】:
这里有一些有用的Window 标志
WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE 和/或 FLAG_NOT_FOCUSABLE 对于像我这样的罕见情况 - 弹出窗口中没有任何触摸
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL 允许在后面和对话框中触摸
您可以使用dialog.window.addFlags(..) 设置这些,或者,如果您知道自己在做什么,请使用dialog.window.setFlags(..)。 (这是 Kotlin 语法)
【讨论】: