view事件分发机制

原创 2016年06月01日 11:13:36
 在AndroidUI中,点击事件是将硬件与软件结合的重要属性。而对于大多数和我一样的Android菜鸟是否又知道这其中的机制呢?没错,我要讲的就是Android中view的事件分发机制。
 当我们触摸手机屏幕时,系统会产生一个MotionEvent对象,并将它传递给view,也就是说实际上分析view的事件分发机制就是要分析MotionEvent对象的传递过程,最后谁对这个对象进行了处理。很显然我们要看源码了。
 首先要说明的一点事件分发主要分为两部分:view的事件分发和viewgroup的事件分发。说的通俗一点就是当我们点击屏幕时我们要么触碰的是view要么是viewgroup(要么是一个布局要么是一个基础的控件)。而在一个布局中viewgroup肯定是所有页面布局的父类。
 MotionEvent传递的过程:dispatchTouchEvent()-onTouch()-onTouchEvent()-onClick();Activity-Window_View.
 dispatchTouchEvent()是事件分发的入口,
 [html] view plain copy 在CODE上查看代码片派生到我的代码片

05-22 00:15:28.905: I/MotionEventDispatch(22044): MainActivity-dispatchTouchEvent-ACTION_DOWN
05-22 00:15:28.908: I/MotionEventDispatch(22044): CustomButton-dispatchTouchEvent-ACTION_DOWN
05-22 00:15:28.908: I/MotionEventDispatch(22044): CustomButton-onTouch-ACTION_DOWN
05-22 00:15:28.909: I/MotionEventDispatch(22044): CustomButton-onTouchEvent-ACTION_DOWN
05-22 00:15:28.969: I/MotionEventDispatch(22044): MainActivity-dispatchTouchEvent-ACTION_UP
05-22 00:15:28.969: I/MotionEventDispatch(22044): CustomButton-dispatchTouchEvent-ACTION_UP
05-22 00:15:28.971: I/MotionEventDispatch(22044): CustomButton-onTouch-ACTION_UP
05-22 00:15:28.971: I/MotionEventDispatch(22044): CustomButton-onTouchEvent-ACTION_UP
05-22 00:15:28.975: I/MotionEventDispatch(22044): CustomButton–onClick

Android View事件分发处理机制Demo

  • 2015年11月13日 22:59
  • 2.66MB
  • 下载

Android源码解析之四:View事件分发机制

首先,我们明确几点: 1、事件的分发:父类将事件分发给子类:Activity—>ViewGroup—>View—>子View 2、事件的响应:子类响应父类传过来的事件:Activity...

view的事件分发机制demo2

  • 2016年02月20日 14:05
  • 402KB
  • 下载

Android6.0源码解读之View点击事件分发机制

本篇博文是Android点击事件分发机制系列博文的第二篇,主要是从解读View类的源码入手,根据源码理清View点击事件分发原理,并掌握View点击事件分法机制。特别声明的是,本源码解读是基于最新的A...

Android View Touch的事件分发机制

开发一段时间的Android,或多或少对Android的事件有一些了解,对诸如dispatchTouchEvent、onTouchEvent方法有些了解。但真正在面试中被问起,整个机制,或者具体的分析...

Android----View事件分发机制(二)

上一章主要说了View分发的简单流程,下面通过源码来看清楚分发机制 科普:当一个点击事件发生后,最开始的传递过程是这样的:Activity–Window–顶级View,当顶级View收到事件后,就...
  • AooMiao
  • AooMiao
  • 2017年04月13日 16:07
  • 178

View的事件分发机制(一)

前言:事件分发机制不仅仅是核心知识点更是难点,不少初学者甚至中级开发者面对这个问题时都会觉得困惑。另外,View的另一个大难题滑动冲突,它的解决方法的理论基础就是事件分发机制,因此掌握好View的事件...

Android View的事件分发机制和滑动冲突解决方案

这篇文章会先讲Android中View的事件分发机制,然后再介绍Android滑动冲突的形成原因并给出解决方案。(供自己学习) 1、View的事件分发机制 View的事件分发机制说...

Android自定义View的事件分发机制(一)

Android自定义View的事件分发机制(一) 说在前面的话 开发中我们写一个自定义控件,一个逃脱不了的话题就是事件分发。并且这也是面试中最常见的一个面试题,但是我发现众多面试者在这个...
  • jsonnan
  • jsonnan
  • 2017年06月24日 19:05
  • 227
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:view事件分发机制
举报原因:
原因补充:

(最多只允许输入30个字)