Android里有两个类

android.view.GestureDetector

android.view.GestureDetector.SimpleOnGestureListener (另外android.widget.Gallery好像是更牛x的OnGestureListener )

1)新建一个类继承SimpleOnGestureListener,HahaGestureDetectorListener 可以实现以下event事件。

boolean onDoubleTap(MotionEvent e) 解释:双击的第二下Touch down时触发

boolean onDoubleTapEvent(MotionEvent e) 解释:双击的第二下Touch down和up都会触发,可用e.getAction()区分。

boolean onDown(MotionEvent e) 解释:Touch down时触发

boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) 解释:Touch了滑动一点距离后,up时触发。

void onLongPress(MotionEvent e) 解释:Touch了不移动一直Touch down时触发

boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) 解释:Touch了滑动时触发。

void onShowPress(MotionEvent e) 解释:Touch了还没有滑动时触发 (与onDown,onLongPress比较 onDown只要Touch down一定立刻触发。 而Touchdown后过一会没有滑动先触发onShowPress再是onLongPress。 所以Touchdown后一直不滑动,onDown->onShowPress->onLongPress这个顺序触发。 )

boolean onSingleTapConfirmed(MotionEvent e) boolean onSingleTapUp(MotionEvent e) 解释:上面这两个函数都是在touch down后又没有滑动(onScroll),又没有长按(onLongPress),然后Touchup时触发。 点击一下非常快的(不滑动)Touchup: onDown->onSingleTapUp->onSingleTapConfirme

点击一下稍微慢点的(不滑动)Touchup: onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed

2)在view的新建一个GestureDetector的对象。

构造函数里 gestureDetector = new GestureDetector(new HahaGestureDetectorListener());

然后在View的onTouchEvent里以下这样用,就可以在刚才1)弄的事件里写自己的代码了。

@Override public boolean onTouchEvent(MotionEvent event) { gestureDetector.onTouchEvent(event); }

但是,郁闷的是SimpleOnGestureListener没有提供onUp(), 还得在View的 onTouchEvent的 case MotionEvent.ACTION_UP: 里来写对应的代码。

android一些不常用的事件相关推荐

  1. HTML按钮中写事件,html 常用button事件

    关于SWT/JFace中其他常用的事件 1.addSelectionListener:这个监听器最常用. 这个addSelectionListener是一个方法,addSelectionListene ...

  2. android 点击,触摸事件

    setontouchlistener为什么会出现override performclick警告 由源码可以看出,只要是使用了view.setOnClickListener()方法设置监听器,就会自动触 ...

  3. android自动屏幕点击事件,Android 中屏幕点击事件的实现

    在android下,事件的发生是在监听器下进行,android系统可以响应按键事件和触摸屏事件,事件说明如下: 常用实现OnClickListener,OnTouchListener,OnFocusC ...

  4. 每天学习一个Android中的常用框架——0.目录

    文章目录 1.前言 2.环境 3.目录 3.1 持久化 3.1.1 Litepal 3.1.2 GreenDao 3.1.3 Realm 3.1.4 DBFlow 3.2 网络传输 3.2.1 OkH ...

  5. Android多线程和常用异步处理技术

    Android多线程和常用异步处理技术 一.Android多线程概述 1.概述:表示一个程序的多段语句同时执行,但并不等于多次启动一个程序,操作系统也不会把每个线程当作独立的进程来对待. 2.线程和进 ...

  6. android安卓之常用对话框设计AlertDialog

    android安卓之常用对话框设计AlertDialog 学习目的:掌握常用对话框中提示,单选,复选,自定义对话框的设计和使用. 布局文件 activity_main.xml <?xml ver ...

  7. Android学习:常用控件

    Android学习:常用控件 学习要点:掌握文本框.编辑框.按钮.单选按钮.复选框等基本控件的用法 控件是Android应用程序中用户界面的重要组成元素,正是因为Android应用程序提供了很多具有不 ...

  8. javascript常用的事件

    javascript常用的事件 目标:本章主要讲解一些日常学习中常用的事件种类,主要分为五种事件,分别为鼠标事件.键盘事件.表单事件,页面事件,监听器 1.鼠标事件 1.onclick 鼠标点击触发事 ...

  9. android listview ontouchlistener,Android ListView监听滑动事件的方法(详解)

    ListView的主要有两种滑动事件监听方法,OnTouchListener和OnScrollListener 1.OnTouchListener OnTouchListener方法来自View中的监 ...

最新文章

  1. Android数据存储(三)——SQLite
  2. 程序、进程以及线程的爱恨情仇
  3. hystrix熔断和降级的区别_Ribbon+Hystrix断路器实现微服务的降级和熔断
  4. http介绍(3)http1.0 和http1.1 区别
  5. c++随机数函数rand()
  6. linux 编译3g驱动_linux重新编译内核
  7. C#中sql备份与还原
  8. Hibernate之持久化对象
  9. nginx 分别对各个域名跳转
  10. js 实现单击、双击事件
  11. 如何去掉Autodesk教育版印戳
  12. Lingo教育版免费申请流程
  13. animation之补间动画
  14. TSF(Text Service Framework)简介
  15. SQL84 实习广场投递简历分析(一)
  16. 【毕设项目】基于STM32F103ZET6的土壤温湿度数据采集和存储系统
  17. java发展前景选兄弟连_对于Java你了解多少 兄弟连带你了解Java开发工程师现状...
  18. Cisco路由器忘记密码
  19. RFID标签、读卡器、终端、接口的概念
  20. 图像传感器噪声建模与分析

热门文章

  1. 解决阿里云主机受到攻击的问题 2
  2. 自动化测试 (三) Web自动化测试原理
  3. 十一游玩新发现(见怪不怪)
  4. 使用Typescript开发(二)
  5. 数据结构与算法-学习笔记(18)
  6. 深入理解css之float
  7. HDU 6241 Color a Tree
  8. 【cf789D】Weird journey(欧拉路、计数)
  9. zabbix 3.2.3 appliance默认用户名及密码
  10. MapReduce-深度剖析