• 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,则事件被消费掉,不会再传递。

  • 相关阅读:
    vim的一些基本配置
    做菜好吃的小技巧02
    SQLServer创建用户登录
    Python库整理
    centos7开机界面出现多个选项
    Elasticsearch和MongoDB简要对比
    OLTP与OLAP
    CentOS7命令总结
    windows下快速删除命令
    Idea配置热部署
  • 原文地址:https://www.cnblogs.com/daxin/p/5363243.html
Copyright © 2020-2023  润新知