接收触摸事件的回调,而不会中断正常流量

时间:2013-10-11 11:05:37

标签: android android-view ontouchevent touch-event

我希望在特定视图的每个触摸事件上触发我的回调。我发现了类似的问题:View.onTouchEvent only registers ACTION_DOWN event没有直接答案。

如果从true返回onTouch(),则会报告属于同一触摸的其他事件(例如ACTION_MOVE),但会中断流量并且不会发生正常事件处理(例如。视图未进入按下状态。)

如果返回falsesuper.onTouchEvent,则仅报告ACTION_DOWN但不报告其他操作,并且正常处理正确处理(例如,视图正在按下状态进入)。不幸的是,其他回调如onInterceptTouchEvent()也未被调用。

我希望在所有触摸事件(ACTION_DOWNACTION_MOVE等)上得到通知,并且不会中断正常处理(例如,View应该在触摸时进入正确的状态)。如何实现这种行为?

1 个答案:

答案 0 :(得分:0)

您可以尝试扩展您的特定View并像这样覆盖dispatchTouchEvent

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    handleTouch(ev);
    return super.dispatchTouchEvent(ev);
}

实现handleTouch,在不中断正常流程的情况下做任何你想做的事情。