您的位置:首页 > 移动开发 > Android开发

事件分发dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent三者关系

2016-06-29 15:55 489 查看
摘自《Android开发艺术探索》

点击事件的传递规则(是有下面三个重要的方法共同完成):

//事件分发,返回值代表是否消耗当前事件

public boolean dispatchTouchEvent(MotionEvent ev)


//事件拦截,返回值代表是否拦截当前事件

public boolean onInterceptTouchEvent(MotionEvent ev)


//事件处理,返回值代表是否处理当前事件

public boolean onTouchEvent(MotionEvent ev)


三者的关系(通过伪代码展示三者的关系):

public boolean dispatchTouchEvent(MotionEvent ev){
boolean consume = false;
if(onInterceptTouchEvent(ev))
consume = onTouchEvent(ev);
else
consume  =  child.dispatchTouchEvent(ev);
return consume ;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息