我在Android设备上遇到了一个奇怪的行为。当我单击弹出窗口上的按钮时,单击基础列表元素。有什么建议?我尝试了z-index方法。
答案 0 :(得分:0)
这是因为弹出窗口不响应onTouch或onKey事件,除非它的背景为!= null。
背景不能为null的原因是PopupWindow#preparePopup中发生的事情。如果它检测到background!= null,它会创建一个PopupViewContainer实例并在其上调用setBackgroundDrawable并将您的内容视图放入其中。 PopupViewContainer基本上是一个侦听触摸事件的FrameLayout和用于关闭窗口的KeyEvent.KEYCODE_BACK事件。如果background == null,则不执行任何操作,只使用您的内容视图。作为依赖PopupWindow来处理它的替代方法,您可以扩展根ViewGroup以按照您希望的方式运行。
确保在显示对话框之前调用setBackgroundDrawable ...花了我一段时间才想出那个。
我遇到了类似的事情,找到了我需要的答案: Android popup window dismissal