zoukankan      html  css  js  c++  java
  • Android事件传递机制

    http://blog.csdn.net/awangyunke/article/details/22047987

    1)public boolean dispatchTouchEvent(MotionEvent ev)  这个方法用来分发TouchEvent
    2)public boolean onInterceptTouchEvent(MotionEvent ev) 这个方法用来拦截TouchEvent
    3)public boolean onTouchEvent(MotionEvent ev) 这个方法用来处理TouchEvent

    当 TouchEvent发生时,首先Activity将TouchEvent事件通过dispatchTouchEvent方法传递给ViewGroup

    注:以下所说的子view和父view均是包含关系,不是继承关系
    1,ViewGroup通过dispatchTouchEvent方法传递给interceptTouchEvent:
        (1)如果返回true ,则交给这个ViewGroup的onTouchEvent处理。
        (2)如果返回false,则交给子View的 dispatchTouchEvent方法处理。
    2,事件传递到子view 的 dispatchTouchEvent方法中,通过方法传递到当前View的onTouchEvent方法中:

        (1)如果返回true,那么这个事件就会止于该view。
        (2)如果返回 false ,那么这个事件会从这个子view 往上传递,而且都是传递到父View的onTouchEvent 来接收。

        (3)如果传递到ViewGroup的 onTouchEvent 也返回 false 的话,则继续传递到Activity的onTouchEvent中,如果还是false,则这个事件就会“消失“;事件向上传递到中间的任何onTouchEvent方法中,如果返回true,则事件被消费掉,不会再传递。

  • 相关阅读:
    SDWebImage内部实现过程
    物理仿真元素
    物理仿真元素
    运行时案例
    使用运行时交换我们自定义的方法
    运行时交换系统方法
    HTML 钟表 小时钟
    JS小游戏寻找房祖名
    程序启动的完整过程
    ApplicationDelegate里的方法
  • 原文地址:https://www.cnblogs.com/daxin/p/5363243.html
Copyright © 2011-2022 走看看