• 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

  • 相关阅读:
    配置和兼容性测试的区别是什么?
    7 天内免登陆,测试要怎么去测试?
    在测试“支付网关”过程中的5个要点
    Hibernate入门与简谈
    jQuery专题
    Java反射机制专题
    Java IO流
    EL和JSTL专题
    泛型(Generic)
    Java异常处理
  • 原文地址:https://www.cnblogs.com/xilinch/p/2726470.html
Copyright © 2020-2023  润新知