我有一个覆盖整个屏幕的视图(比方说),以及只覆盖其中一部分的ParentView
子内部视图。ChildView
我要做出ChildView
回应onSingleTapUp()
,同时ParentView
回应onFling()
。我正在尝试通过将一个和一个附加SimpleOnGestureListener
到.ChildView
SimpleOnGestureListener
ParentView
要接受onSingleTapUp()
from ChildView
,它的侦听onDown()
器必须返回 true。但是一旦我这样做了,与之相关的听众就ParentView
不会再听到任何运动事件了,因为它是由ChildView
的听众采取的。即使ChildView
'onFling()
返回 false,事件也不会流向ParentView
' 侦听器。
如何让父视图的侦听器捕捉到轻击手势,而子视图的侦听器捕捉轻击手势?
我认为不需要任何源代码来解释这种情况,但这里有一个片段可以设置我的ChildView
监听器。
ChildView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
return singleTapGestureDetector.onTouchEvent(motionEvent);
}
});
一种解决方法可能是同时处理ParentView
andChildView
的侦听器,onFling()
而只有ChildView
's listener handle onSingleTapUp()
,但在这种情况下,投掷将无法跨越ChildView
(例如从子外部开始,然后在子内部结束),我相信。