这个loading 如何可以透传点击事件

window?.let { window ->
    window.setBackgroundDrawableResource(android.R.color.transparent)
    window.attributes?.let { params ->
     
        params.flags = WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL or WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
        window.attributes = params
    }
}

这里,WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL将允许对话框外的事件被发送到后面的视图,而WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH将允许对话框在被触摸时接收到外部的触摸事件。这样设置后,用户就可以点击和操作Dialog下面的视图了。

注意,你可能需要处理这个Dialog的点击事件,以便当用户点击到Dialog时,不会触发到后面的视图的点击事件。你可以为Dialog的视图设置一个空的点击事件监听器,像这样:

view.setOnClickListener {
    // Do nothing, just consume the event.
}

这样设置后,当用户点击到Dialog的视图时,事件就会被消费,而不会传递到后面的视图。

猜你喜欢

转载自blog.csdn.net/mp624183768/article/details/130993590