你的位置:首页 > 软件开发 > 操作系统 > Android Touch事件分发机制学习

Android Touch事件分发机制学习

发布时间:2016-08-28 19:00:04
Android 事件分发机制 ViewGroupdispatchTouchEvent 返回truedispatchTouchEvent: Activity ACTION_DOWN MyrelativeLayout dispatchTouchEvent: ACT ...

Android  事件分发机制

 

ViewGroup

dispatchTouchEvent 返回true

dispatchTouchEvent: Activity  ACTION_DOWN  MyrelativeLayout dispatchTouchEvent:  ACTION_DOWN  dispatchTouchEvent: Activity  ACTION_UP  MyrelativeLayout dispatchTouchEvent:  ACTION_UP
ViewGroup  dispatchTouchEventViewGroup  onInterceptTouchEvent子View的 dispatchTouchEvent子View的 onTouchEventViewGroud的 onTouchEvent从上到下ViewGroup  dispatchTouchEventViewGroup  onInterceptTouchEvent子View dispatchTouchEvent(返回false直接回返到ViewGroup的onTouchEvent方法)Activity onTouchEvent

子View的dispatchTouchEvent返回true

dispatchTouchEvent: Activity  ACTION_DOWN    MyrelativeLayout dispatchTouchEvent:  ACTION_DOWN     MyrelativeLayout onInterceptTouchEvent ACTION_DOWN     MyImageView dispatchTouchEvent:  ACTION_DOWN    dispatchTouchEvent: Activity  ACTION_UP    MyrelativeLayout dispatchTouchEvent:  ACTION_UP     MyrelativeLayout onInterceptTouchEvent ACTION_UP     MyImageView dispatchTouchEvent:  ACTION_UP
ViewGroup  dispatchTouchEventViewGroup  onInterceptTouchEvent子View dispatchTouchEvent(返回true直接消费此事件)

 

子View的 onTouchEvent 返回true

前提子类的dispatchTouchEvent返回super    dispatchTouchEvent: Activity  ACTION_DOWN    MyrelativeLayout dispatchTouchEvent:  ACTION_DOWN     MyrelativeLayout onInterceptTouchEvent ACTION_DOWN     MyImageView dispatchTouchEvent:  ACTION_DOWN     MyImageView   onTouchEvent:  ACTION_DOWN    dispatchTouchEvent: Activity  ACTION_UP    MyrelativeLayout dispatchTouchEvent:  ACTION_UP     MyrelativeLayout onInterceptTouchEvent ACTION_UP     MyImageView dispatchTouchEvent:  ACTION_UP     MyImageView   onTouchEvent:  ACTION_UP
ViewGroup  dispatchTouchEventViewGroup  onInterceptTouchEvent子View dispatchTouchEvent(super)子View的onTouchEvent返回true消费这个事件,不再向上传递

子View的 onTouchEvent 返回false

前提子类的dispatchTouchEvent返回super    dispatchTouchEvent: Activity  ACTION_DOWN    MyrelativeLayout dispatchTouchEvent:  ACTION_DOWN     MyrelativeLayout onInterceptTouchEvent ACTION_DOWN     MyImageView dispatchTouchEvent:  ACTION_DOWN     MyImageView   onTouchEvent:  ACTION_DOWN    MyrelativeLayout: onTouchEvent ACTION_DOWN    onTouchEvent: Activity  ACTION_DOWN    dispatchTouchEvent: Activity  ACTION_UP    onTouchEvent: Activity  ACTION_UP
ViewGroup  dispatchTouchEventViewGroup  onInterceptTouchEvent子View dispatchTouchEvent(super)子View的onTouchEvent返回falseViewGroud的onTouchEventAcitivty的onTouchEvent

 

 

事件分发:dispatchTouchEvent

 

 如果 return true,事件会分发给当前 View 并由 dispatchTouchEvent 方法进行消费,同时事件会停止向下传递;如果事件传递到当前 View 的 onTouchEvent 方法,而该方法返回了 false,那么这个事件会从当前 View 向上传递,并且都是由上层 View 的 onTouchEvent 来接收,如果传递到上面的 onTouchEvent 也返回 false,这个事件就会“消失”,而且接收不到下一次事件。

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:Android Touch事件分发机制学习

关键词:Android

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录