我有一个相对布局R1作为可扩展列表视图的自定义视图。
现在在R1中,我有一个图像视图I1和另一个相对布局R2,两者都是兄弟姐妹。
我为R2和I1设置了点击侦听器。一切正常。 但我想在某些触摸条件下移动整个自定义视图R1。所以我为R1设置了OnTouchListener。但是当我触摸列表项时,它从未被R1接收过。
我试过搜索但没有任何作用。有人可以帮我弄清楚如何获得R1收到的触摸事件,然后如果它不使用它,那么它应该传递给I1和R2。
谢谢, 晴天
答案 0 :(得分:3)
当您想拦截触摸事件时,您需要实施onInterceptTouchEvent
并返回true
。
触摸事件将分派到ViewGroup的onInterceptTouchEvent
。如果返回false
,则触摸事件将以反向绘制顺序传递给该ViewGroup的每个子视图的onTouchEvent
方法。如果没有孩子从该方法返回true
,则ViewGroup会在其onTouchEvent
中获取该事件。
http://developer.android.com/training/gestures/viewgroup.html