0

我打算将触摸事件从父视图转移到其子视图。我尝试了一些结构,但到目前为止,我还没有成功地将触摸处理分配给另一个视图,而只是将触摸处理从父视图委托给子视图,这并不完全相同。

这就是我想要实现的目标:

绿点是父级上的 Touch Down 事件,然后我拖动到另一个视图,然后在蓝点上拾取(在子视图上触发 Touch Down),从这一点开始不再涉及父视图。

绿点是父级上的 Touch Down 事件,然后我拖动到另一个视图,然后在蓝点上拾取(在子视图上触发 Touch-Down),从这一点开始不再涉及父视图,就像我一开始会碰孩子一样。

我可以通过扩展父母的 onTouchEvent 方法来委托触摸事件,然后在进入孩子的视图边界时调用 child.dispatchTouchEvent(),但我想避免父母的参与。

4

1 回答 1

0

View.OnTouchListener文档中, OnTouch() 的返回是:

退货

True if the listener has consumed the event, false otherwise.

基本上,如果您希望父级对 onTouchListener 做出反应,请返回 false。如果您希望它不做出反应,请返回 true。

于 2012-11-25T22:17:26.750 回答