2

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

现在在 R1 内部,我有一个图像视图 I1 和另一个相对布局 R2,它们都是兄弟姐妹。

我已经为 R2 和 I1 设置了点击监听器。一切正常。但我想在某些触摸条件下移动整个自定义视图 R1。所以我为 R1 设置了 OnTouchListener。但是,当我触摸列表项时,R1 永远不会收到它。

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

谢谢,阳光

4

1 回答 1

5

想要拦截触摸事件时需要实现onInterceptTouchEvent并返回。true

触摸事件被分派到 ViewGroup 的onInterceptTouchEvent. 如果返回,则触摸事件会以相反的绘制顺序false传递给该ViewGroup 的每个子 View 的方法。onTouchEvent如果没有子节点true从该方法返回,则 ViewGroup 会在其onTouchEvent.

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

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

于 2014-06-27T15:39:11.450 回答