如果使用 Dialog 展示的 View 挡住了下面的元素,下面的元素无法点击,你可以尝试以下几种方法解决问题:

  1. 使用 WindowManager.LayoutParams 的 'FLAG_NOT_TOUCH_MODAL' 标志,确保 Dialog 不会拦截触摸事件。在创建 Dialog 时,使用以下代码设置 LayoutParams:
dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL, WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
  1. 如果你需要在 Dialog 外部点击时关闭 Dialog,可以尝试使用 'setCanceledOnTouchOutside(true)' 方法设置 Dialog 的点击外部区域可关闭:
dialog.setCanceledOnTouchOutside(true);
  1. 如果上述方法无效,可以考虑使用 PopupWindow 代替 Dialog。PopupWindow 可以在需要展示的位置弹出一个 View,并且不会拦截下面元素的点击事件。

希望以上方法对你有所帮助!

Android Dialog 挡住下方元素点击?三种方法解决!

原文地址: https://www.cveoy.top/t/topic/qlHi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录