我希望在特定视图的每个触摸事件上触发我的回调。我发现了类似的问题:View.onTouchEvent only registers ACTION_DOWN event没有直接答案。
如果从true
返回onTouch()
,则会报告属于同一触摸的其他事件(例如ACTION_MOVE
),但会中断流量并且不会发生正常事件处理(例如。视图未进入按下状态。)
如果返回false
或super.onTouchEvent
,则仅报告ACTION_DOWN
但不报告其他操作,并且正常处理正确处理(例如,视图正在按下状态进入)。不幸的是,其他回调如onInterceptTouchEvent()
也未被调用。
我希望在所有触摸事件(ACTION_DOWN
,ACTION_MOVE
等)上得到通知,并且不会中断正常处理(例如,View应该在触摸时进入正确的状态)。如何实现这种行为?
答案 0 :(得分:0)
您可以尝试扩展您的特定View
并像这样覆盖dispatchTouchEvent
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
handleTouch(ev);
return super.dispatchTouchEvent(ev);
}
实现handleTouch,在不中断正常流程的情况下做任何你想做的事情。