zoukankan      html  css  js  c++  java
  • android TouchEvent解析(2)

    假设:

    activity里有一个LAYOUT,在布局里有个按钮。

    如果在按钮上触发一个CLICK事件

    首先触发ACTIVITY的dispatchTouchEvent

    然后触发ACTIVITY的onUserInteraction

    然后触发LAYOUT的dispatchTouchEvent

    然后触发LAYOUT的onInterceptTouchEvent

    然后触发BUTTON的onTouch(这是一个ACTION_DOWN事件)

    紧跟着是一个ACTION_UP事件

    触发ACTIVITY的dispatchTouchEvent

    注意不再触发ACTIVITY的onUserInteraction,因为他对ACTION_UP不起作用。

    然后触发LAYOUT的dispatchTouchEvent

    然后触发LAYOUT的onInterceptTouchEvent

    然后触发BUTTON的onTouch

    最后触发BUTTON的onClick.

    如果你在ONTOUCH事件里返回true,消费了此事件,那么ONCLICK将不会被响应

    但是如果你不写ONCLICK事件,而ONTOUCH事件返回FLASE

    。结合上一篇一起看,便会明白很多

    另外:

    如果对于控件想响应他的触摸事件,如果继承

    则覆写ONTOUCHEVENT,如果不覆写则侦听ONTOUCH

    如果覆写了ONTOUCHEVENT,则不再响应ONCLICK事件

    如果写了ONCLICK,则不要再搞ONTOUCHEVENT了

    所以ONCLICK和ONTOUCHEVENT二取一,另外如果有ONTOUCH侦听,那么此函数要先于其他函数执行

    对于ONCLICK来说,要从头走俩便ONTOUCH,一次是DOWN,一次是UP

  • 相关阅读:
    Hibernate 持久化对象的状态
    Hibernate 主键生成策略
    Hibernate 环境搭建
    Struts2 UI标签
    Struts2 处理表单重复提交
    Struts2 模型驱动及页面回显
    Struts2 之 ognl
    Struts2 框架验证
    Struts2 手动验证
    Struts2 自定义拦截器
  • 原文地址:https://www.cnblogs.com/xilinch/p/2726470.html
Copyright © 2011-2022 走看看