Android中onTouch与onClick事件的关系
来源:互联网 发布:wow大脚插件for mac 编辑:程序博客网 时间:2024/06/13 00:44
原文地址:http://blog.csdn.net/mydreamongo/article/details/30465613
这几天遇到点关于Android的触摸事件相关的,还跟onClick有关,暂且记下:
LinearLayout分别设置了onTouchListener,onClickListener,onLongClickListener及onTouchEvent回调
1、在屏幕上触摸之后基本的执行流程如下:
onTouch,action=0
onTouchEvent,action=0
onTouch,action=2
onTouchEvent,action=2
onTouch,action=2
onTouchEvent,action=2
onTouch,action=1
onTouchEvent,action=1
onClick
也就是先说onTouchListener是最先被触发的,然后是本身的onTouchEvent回调;当最后的up事件发生并被onTouchEvent处理后才会触发onClickListener。
2、把onTouchEvent回调中的super.onTouchEvent去除,直接返回true;则流程如下:
onTouch,action=0
onTouchEvent,action=0
onTouch,action=2
onTouchEvent,action=2
onTouch,action=2
onTouchEvent,action=2
onTouch,action=1
onTouchEvent,action=1
可以看到onClickListener永远无法被触发,也侧面说明了对onClick的触发是在onTouchEvent回调中来实现的。
3、长按屏幕,流程如下:
onTouch,action=0
onTouchEvent,action=0
onTouch,action=2
onTouchEvent,action=2
onTouch,action=2
onTouchEvent,action=2
onLongClick
onTouch,action=2
onTouchEvent,action=2
onTouch,action=2
onTouchEvent,action=2
onTouch,action=1
onTouchEvent,action=1
onClick
当长按的时候,无需到up就会触发onLongClick的响应,但之后也会继续触发onClick的响应。
4、但如果在onLongClick中返回true,则流程如下,即只在中间触发了onLongClick,之后会继续响应touch,但当up的时候就不会再触发onClick
onTouch,action=0
onTouchEvent,action=0
onTouch,action=2
onTouchEvent,action=2
onTouch,action=2
onTouchEvent,action=2
onLongClick
onTouch,action=2
onTouchEvent,action=2
onTouch,action=2
onTouchEvent,action=2
onTouch,action=1
onTouchEvent,action=1
测试代码如下:
- Android中onTouch与onClick事件的关系
- Android中onTouch与onClick事件的关系
- Android onTouch 与 onClick 的关系
- Android中view的onTouch&onClick事件分发机制详解
- 关于Android中onTouch时间与onClick事件的监听问题
- android view 的onTouch 和 onClick 事件
- android onClick 与 onTouch 的区别
- android onClick和onTouch事件
- Android onClick onTouch事件关联
- onTouch 事件与onClick事件发生冲突,如何在onTouch事件中实现点击事件
- Android 中 onTouch 和OnClick 冲突的处理(onTouchEvent返回true时与onclick冲突)
- Android中事件传递机制的总结(onTouch、onClick、onLongClick等)
- onClick 与 onTouch 事件的互斥问题
- android 悬浮框的OnTouch和OnClick事件同时存在
- Android View的onTouch和onClick和onLongClick事件
- Android View的onTouch、onClick和onLongClick事件分析
- Android View的onTouch和onClick和onLongClick事件
- Button 中 onTouch 和 onClick 关系
- ccf 最大波动
- CenterOS 设置静态IP
- docker之ifconfig安装-yellowcong
- Oracle 数据库 练习题5
- java基础总结三(引用类型使用格式、if语句、循环语句)
- Android中onTouch与onClick事件的关系
- SpringMVC札集(06)——转发和重定向
- CentOs6.8系统部署SVN版本管理
- 如何在Java 8中愉快地处理日期和时间
- Hdu1996汉诺塔VI
- 准备入职了,写点东西
- AMS Hook
- VB学生系统3021解法
- EasyUI datetimebox显示当前时间