应付面试系列之事件分发机制
来源:互联网 发布:js获取子元素属性 编辑:程序博客网 时间:2024/06/02 00:58
面试中的问题往往实际开发中用不到,但是还都爱问,所以如何用自己的语言表达出来就非常重要,但是语言逻辑能记住一时,下次面试时又忘了,所以整理出来以免需要时还要重新 整理。如有不对欢迎指正。新司机上路多多关照。
关于事件分发机制的回答,个人理解应从以下几个方面入手,两个主体,三个方法,事件序列,优先级。
Touch事件分发中只有两个主角:ViewGroup和View。ViewGroup包含onInterceptTouchEvent、dispatchTouchEvent、onTouchEvent三个相关事件。View包含dispatchTouchEvent、onTouchEvent两个相关事件。OnTouchEvent 和onInterceptTouchEvent都是在dispatchTouchEvent内部处理的。当dispatchTouchEvent执行时首先判断是否拦截,默认不拦截(onInterceptTouchEvent返回false),会调用子view的dispatechTouchEvent继续向下分发,如过拦截则调用自己的onTouchEvent去考虑是否处理,如果所有子view的onTouchEvent都返回false,则考虑viewgroup的onTouchEvent是否会处理,如果都不处理,会一层一层向外传到activity,由activity去处理。当onTouchEvent返回true时,这个事件被消耗,这里有一个事件序列的问题,包括down,move,up,down事件分发到这个view被消耗指的是down事件被消耗,move,up也直接分发到这里。但不一定消耗。还有一个ontouch方法和onTouchEvent优先级问题,在一些监听(比如onclicklisternner,ontouchlistenner)中会重写ontouch方法,这个方法也可以消耗事件,这个优先级要高于onTouchEvent。
- 应付面试系列之事件分发机制
- Android面试系列之事件分发
- 全面升级Android面试之事件分发机制
- Android之事件分发机制
- Android之事件分发机制
- Android之事件分发机制
- android之事件分发机制
- Android面试准备:事件分发机制
- android-----事件分发机制测试系列
- android-----事件分发机制测试系列(二)
- android-----事件分发机制测试系列(三)
- android-----事件分发机制测试系列(四)
- android-----事件分发机制测试系列(五)
- 系列(一) Android 事件分发机制
- 【Android系列】View的事件分发机制
- android机制之事件的分发机制
- Android 事件分发机制解析之View的事件分发
- 图片会说话系列之Android事件的分发传递机制
- elasticsearch 特殊操作整理
- Practical Scala DSLs.pdf 2017 英文原版 免费下载
- 从零开始搭建SSM
- [洛谷P3865] ST表
- Git使用详细教程
- 应付面试系列之事件分发机制
- 顺序堆栈.c
- numpy多为数组和切片的索引
- Beginning PowerApps.pdf 2017 英文原版 免费下载
- hive常用命令总结
- alsa-lib和alsa-util安装编译及开发板移植
- vector,template,typedef,typename
- BZOJ4811: [Ynoi2017]由乃的OJ
- 516. Longest Palindromic Subsequence