http://blog.csdn.net/iamfafa/article/details/6316062

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->onSingleTapConfirmed

  点击一下稍微慢点的(不滑动)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. android ViewPager滑动事件讲解

    首先ViewPager在处理滑动事件的时候要用到OnPageChangeListener OnPageChangeListener这个接口需要实现三个方法:(onPageScrollStateChan ...

  2. Android之滑动事件冲突解决 Touch事件处理机制总结

    android中的事件类型分为按键事件和屏幕触摸事件,Touch事件是屏幕触摸事件的基础事件,有必要对它进行深入的了解.  一个最简单的屏幕触摸动作触发了一系列Touch事件:ACTION_DOWN- ...

  3. android 横向滑动事件,android左右手势滑动事件处理

    建了个交流群:416157653,欢迎大家加入讨论 要实现手指在屏幕上左右滑动的事件需要实例化对象GestureDetector,new GestureDetector(MainActivity.th ...

  4. 通过广播获取Android屏幕旋转事件

         Android获取系统屏幕旋转的方式有几种,其中比较常见的是通过重写Activity中的onConfigurationChanged方法,但是这种方法有个缺陷,当测试程序在后台运行的时候不能 ...

  5. android 屏幕触摸事件及处理机制解读

    原创性声明:本文系作者原创,转载请附原文地址:http://blog.csdn.net/a774057695/article/details/49336123 最近实在太忙,没有写多少东西,上次承诺写 ...

  6. android 触摸 事件,Android触屏事件和MotionEvent详解

    Android屏幕操作 屏幕是用户和Android设备交互的主要媒介,屏幕分为触屏和非触屏.Android设备目前有四种类型:Android Phone,Android Tablet,Android ...

  7. Android手势滑动(左滑和右滑)

    最近想实现Android左滑弹出菜单框,右滑消失菜单这个个功能.了解了一下Android 的滑动事件,必须是在view组件或者Activity上实现,同时必须实现OnTouchListener, On ...

  8. android 触摸监听重写_Android监听屏幕的滑动事件

    实现监听屏幕上下左右滑动事件 前段时间为了实现这个功能在网上找了很多教程,发现很多教程都是很大的篇幅,对于像我这种一点都不了解的人GestureListener的人来说可能很难理解,动不动就是几百行代 ...

  9. Android监听屏幕的滑动事件

    实现监听屏幕上下左右滑动事件 前段时间为了实现这个功能在网上找了很多教程,发现很多教程都是很大的篇幅,对于像我这种一点都不了解的人GestureListener的人来说可能很难理解,动不动就是几百行代 ...

最新文章

  1. php rabbmq教程_RabbitMQ+PHP 教程六(RPC)
  2. IOS中UITableView异步加载图片的实现
  3. .NET Core开发日志——OData
  4. 海外服务器维护,海外服务器运行不正常的原因是什么?
  5. mysql查询当月数据_MySQL百万数据,你如何用分页来查询数据
  6. [转]RDLC 动态列
  7. 用Eclipse远程调试部署在Tomcat下的Web应用程序
  8. 关于DatetTime?
  9. 在微信小程序中使用条形码生成器
  10. PMP项目管理全套表格史上最全,建议收藏
  11. AD15的PCB设计流程及基本设置
  12. 关于html的实训日志,满足你的甜蜜幻想, 《我与她的实习日志》登陆NS
  13. C语言实现扫雷小游戏
  14. 汽车车牌自动识别技术
  15. 小巧精美原厂轴 Cherry发布全新MX Board 1.0
  16. 杭电 2072 单词数(题解+代码)
  17. 蓝牙架构(6)—— 3 数据传输架构(3.1 核心传输载体)
  18. centos7 BBR加速
  19. php语言开发的cms,YzmCMS
  20. 利用DGL中的消息传递API手搭GCN实现节点分类

热门文章

  1. 众多Android 开源项目推荐,给力工作给力学习
  2. atlsoap.h”: No such file or directory
  3. python 二维数组赋值_python日常注意小知识集锦
  4. 神经网络与机器学习 笔记—反向传播算法(BP)
  5. POJ2118基础矩阵快速幂
  6. 【FFmpeg】ffplay 播放视频命令 ( 播放 | 暂停 | 停止 | 音量控制 | 进度控制 | 音频流 / 视频流 / 字幕流 / 节目切换 )
  7. 进程 互斥锁、队列与管道、生产者消费者模型
  8. Quzrtz.net 示例
  9. 2019/1/14,15 Python今日收获
  10. selenium 浏览器driver地址