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
(#换成@)。