Android:父视图未收到触摸事件

时间:2014-06-27 15:08:55

标签: android relativelayout expandablelistview ontouchlistener view-hierarchy

我有一个相对布局R1作为可扩展列表视图的自定义视图。

现在在R1中,我有一个图像视图I1和另一个相对布局R2,两者都是兄弟姐妹。

我为R2和I1设置了点击侦听器。一切正常。 但我想在某些触摸条件下移动整个自定义视图R1。所以我为R1设置了OnTouchListener。但是当我触摸列表项时,它从未被R1接收过。

我试过搜索但没有任何作用。有人可以帮我弄清楚如何获得R1收到的触摸事件,然后如果它不使用它,那么它应该传递给I1和R2。

谢谢, 晴天

1 个答案:

答案 0 :(得分:3)

当您想拦截触摸事件时,您需要实施onInterceptTouchEvent并返回true

触摸事件将分派到ViewGroup的onInterceptTouchEvent。如果返回false,则触摸事件将以反向绘制顺序传递给该ViewGroup的每个子视图的onTouchEvent方法。如果没有孩子从该方法返回true,则ViewGroup会在其onTouchEvent中获取该事件。

http://developer.android.com/training/gestures/viewgroup.html

https://www.youtube.com/watch?v=EZAoJU-nUyI