我有一个相对布局 R1 作为可扩展列表视图的自定义视图。
现在在 R1 内部,我有一个图像视图 I1 和另一个相对布局 R2,它们都是兄弟姐妹。
我已经为 R2 和 I1 设置了点击监听器。一切正常。但我想在某些触摸条件下移动整个自定义视图 R1。所以我为 R1 设置了 OnTouchListener。但是,当我触摸列表项时,R1 永远不会收到它。
我试过搜索,但没有任何效果。有人可以帮我弄清楚如何让 R1 接收到触摸事件,然后如果它不使用它,那么它应该传递给 I1 和 R2。
谢谢,阳光
我有一个相对布局 R1 作为可扩展列表视图的自定义视图。
现在在 R1 内部,我有一个图像视图 I1 和另一个相对布局 R2,它们都是兄弟姐妹。
我已经为 R2 和 I1 设置了点击监听器。一切正常。但我想在某些触摸条件下移动整个自定义视图 R1。所以我为 R1 设置了 OnTouchListener。但是,当我触摸列表项时,R1 永远不会收到它。
我试过搜索,但没有任何效果。有人可以帮我弄清楚如何让 R1 接收到触摸事件,然后如果它不使用它,那么它应该传递给 I1 和 R2。
谢谢,阳光
想要拦截触摸事件时需要实现onInterceptTouchEvent并返回。true
触摸事件被分派到 ViewGroup 的onInterceptTouchEvent. 如果返回,则触摸事件会以相反的绘制顺序false传递给该ViewGroup 的每个子 View 的方法。onTouchEvent如果没有子节点true从该方法返回,则 ViewGroup 会在其onTouchEvent.
http://developer.android.com/training/gestures/viewgroup.html