我有一个RecyclerView
(垂直滚动),其中ViewHolder
包含RecyclerView
个水平滚动。当您水平(嵌套)RecyclerView
s上的项目上点击时,我希望整行都具有波纹效果。
为此,我一直在尝试覆盖触摸事件,并使其在视图堆栈中向上传递(通过在触摸事件处理程序中返回false
)。此功能适用于RecyclerView
以外的其他视图,但不适用于RecyclerView
的效果。
如何正确地将RecyclerView
上的tap事件传递到封闭的视图?
答案 0 :(得分:0)
还没有找到将click事件传递到回收者视图的父视图的方法,但是重要的是使连锁反应得以发生-我能够做到。因此,当点击了视图持有人的itemView
时,我会这样做:
val background = itemView.background
if (background is RippleDrawable) {
background.setState(intArrayOf(android.R.attr.state_pressed, android.R.attr.state_enabled))
}
手动触发波纹效果。