您的位置:首页 > 其它

dispatchTouchEvent(),onTouchEvent(MotionEvent event),onInterceptTouchEvent(MotionEvent event)的事件处理

2016-11-12 22:14 344 查看
这三个方法的执行顺序:

dispatchTouchEvent()>onInterceptTouchEvent(MotionEvent event) >onTouchEvent(MotionEvent event)

1)public booleandispatchTouchEvent(MotionEvent ev) 这个方法用来分发TouchEvent

2)public boolean onInterceptTouchEvent(MotionEvent ev) 这个方法用来拦截TouchEvent

3)public boolean onTouchEvent(MotionEvent ev) 这个方法用来处理TouchEvent

详情如图:



一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN->ACTION_MOVE->ACTION_MOVE->ACTION_MOVE…->ACTION_MOVE->ACTION_UP

*当你想让所有的父控件都不要拦截子控件的事件

可在分发事件时调用getParent().requestDisallowInterceptTouchEvent(true);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐