您的位置:首页 > 产品设计 > UI/UE

dispatchTouchEvent

2016-03-23 10:20 375 查看
1 改包名 项目名

  1.1先取消自动构建项目

  1.2  Package Explorer 视图  一级包下修改 即要修改的包名为最后一级包的地方 右键的第三个栏目-refactor

                 选择 修改相关联及父包即可

                 修改gen包名 会自动替换 java文件的import R 类名 包的路径  或者ctrl +H 全局替换

                 ctrl +H 全局替换 manifest 文件包名

                 改项目名 需要断开SVN链接  包名改回 需断开SVN链接

2  改Config 文件 String 文件 appchild 文件

 

 

**dispatchTouchEvent作用是将touch事件向下传递直到遇到被触发的目标view,如果返回true,

表示当前view就是目标view,事件停止向下分发。

  否则返回false,表示当前view不是目标view,需要继续向下分发寻找目标view.这个方法也可以被重载,手动分配事件。

**一次点击 没有消费掉前可以多次响应 多次处理。

**一次事件历经的每个View都会执行 分发拦截 阶段,由外到内一个一个View的过。

**--通过返回值标明 当前事件是否结束 !是否结束! 是否响应结束!对事件的响应有可能多个有可能没有。

**--分发和拦截是一个递归处理过程,由return开启递归。

dispatchTouchEvent

先看分发  返回true  直接执行

          返回false 直接返回到父OntouchEvent执行    向上反

          返回父viewd 分发代码 super.dispatchTouchEvent(ev)

                   则看当前view的 onInterceptTouchEvent返回

                      true 拦截掉了OnTouchEvent处理 ##*******事件传递从此处通往下面****##

                      false 事件到子view 再循环的开始一遍 从dispatch。。。开始

onInterceptTouchEvent

拦截方法  

         返回true 消费,交给当前执行

         返回false 放行到子view   

         返回父view的拦截代码 如果没有子view,拦截 否则不拦截,放行至子view。

viewGroup ,默认不拦截 不处理.

view 默认拦截 处理<没有真正的拦截方法>

拦截只能拦截ACTION_DOWN,手势事件类型包括 ACTION_DOWN,ACTION_MOVE,ACTION_UP,ACTION_CANCEL 等事件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息