popupwindow背景点击事件穿透

popupwindow弹出后,我设置了背景为黑色

        this.setBackgroundDrawable(new ColorDrawable(0x000000));

然后设置了窗体透明度为0.2f
然后在setOnDismissListener里将窗体透明度恢复


以上都没问题
另外,还setTouchable=true,setOutsideTouchable=true
所以点击窗体外部关闭popupwindow也正常


问题在于,当我点击窗体外部的时候,popupwindow是关闭了,但是点击时间穿透到了下方,导致popupwindow一关闭立马触发下面的控件


求教,怎么拦截这个点击事件又不影响popupwindow窗体的点击事件


10月17日补充

或者换种说法,我需要在界面上弹个带遮罩的悬浮菜单,就像点击分享按钮弹从底部弹出的分享通道的菜单一样,除了用popupwindow控件来实现,还有什么其他的办法可以实现?

阅读 14.2k
2 个回答

试试
popupwindow.setFocusable(true);

新手上路,请多包涵

或许可以试试:popupwindow布局最底层控件设置背景。

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