onInterceptTouchEvent()是否真的像sdk说的那样工作?

该sdk说:

3,只要你从这个函数中返回false,每个下面的事件(直到并包括最后一个)将在这里首先被传递,然后被传递到目标的onTouchEvent()。

4,如果你从这里返回true,你将不会收到任何以下事件:目标视图将接收到相同的事件,但动作ACTION_CANCEL,并且所有其他事件将传递到您的onTouchEvent()方法,并不再出现在这里。

但是当我使用这个方法时,不管onInterceptTouchEvent()返回什么,它都会做同样的工作! 此方法并未捕获MotionEvent.ACTION_MOVE或MotionEvent.ACTION_UP。 有人能帮我弄清楚吗?

部份!


通常情况下,通过onInterceptTouchEvent触摸从大多数上视图到最低onInterceptTouchEvent ,然后通过onTouchEvent

如果你在onInterceptTouchEven返回true, onInterceptTouchEven你不允许它继续,并且返回true的视图是接收该触摸的最后一个,

你也可以通过requestDisallowInterceptTouchEvent(true);来禁止你的父视图使用事件requestDisallowInterceptTouchEvent(true);


当您的视图的所有子项都不会在onTouchEvent中返回true时,将仅为MotionEvent.ACTION_DOWN调用onInterceptTouchEvent。

这是MotionEvent处理的完整描述。

链接地址: http://www.djcxy.com/p/53321.html

上一篇: Does onInterceptTouchEvent() really works as the sdk said?

下一篇: Maven Install on Mac OS X