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

  • 相关阅读:
    linux之awk命令
    HDU 2097 Sky数 进制转换
    HDU 2077 汉诺塔IV
    HDU 2094 产生冠军 dfs加map容器
    HDU 2073 叠框
    HDU 2083 简易版之最短距离
    HDU 2063 过山车 二分匹配
    天梯 1014 装箱问题
    天梯 1214 线段覆盖
    天梯 1098 均分纸牌
  • 原文地址:https://www.cnblogs.com/xilinch/p/2726470.html
Copyright © 2011-2022 走看看