Android中事件的处理,及其分发

1.Android 中常用事件类型?

1)onClick
2)onTouch
3)onKey

2.Android 中事件元素及处理过程?

1)事件源(在哪个view控件上触发事件)
2)事件监听对象(观察者对象,用于观察或监听事件源状态的变化)
3)事件处理函数(回调函数,此函数在事件发生时会由系统回调执行)
4)具体事件(触摸,滚动,点击,.....)

3.Android 中事件的分发机制?

Android中任何view在处理事件时首先会执行dispatchTouchEvent方法由此方法开始进行事件分发处理.

  1. 假如此view上添加了onTouch事件那么事件分发时首先会执行OnTouchListener的onTouch方法
  2. 假如此方法返回值为true表示事件被消费,后续其它事件不在继续处理,
  3. 假如onTouch方法返回为false,那么此时会调用view的onTouchEvent
    方法继续事件分发。

Android 中在处理任何View的事件时,首先会执行这个view所在的容器(ViewGroup)的dispatchTouchEvent的方法进行事件分发,然后才会执行此view的dispatchTouchEvent方法进行事件分发.

  • 假如不希望view的dispatchTouchEvent方法执行,可以重写view所在容器的onInterceptTouchEvent方法进行事件拦截,此方法默认返回值为false,可以将其改为true(表示要进行拦截)。

4.Android 中事件分发相关方法?

1)dispatchTouchEvent(MotionEvent ev) :事件分发
2)onInterceptTouchEvent(MotionEvent ev):事件拦截
3)onTouchEvent(MotionEvent event):事件响应

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容