# 关于如何处理手势操作以及那四个基本固定的顺序我就不讲解了，这里直接跳到我们获得瞬间滑动后回调onFling()这个抽象函数时，应该如何根据参数比较准确的判断滑动方向。如果你没有前面的基础知识，你可以去看看这篇文章：http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1020/448.html

 1 2 3 4 5 6 `@Override  ` `public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,  float velocityY) {  ` `  `  `//dosomething ` `return``false``;  ` `}`

先来看一个例子：

 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 `private int verticalMinDistance = 20;  ` `private int minVelocity         = 0;  ` `   `  `public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { ` `   `  `    ``if``(e1.getX() - e2.getX() > verticalMinDistance && Math.abs(velocityX) > minVelocity) { ` `   `  `        ``// 切换Activity  ` `        ``// Intent intent = new Intent(ViewSnsActivity.this, UpdateStatusActivity.class);  ` `        ``// startActivity(intent);  ` `        ``Toast.makeText(``this``,``"向左手势"``, Toast.LENGTH_SHORT).show();  ` `    ``}``else``if` ` (e2.getX() - e1.getX() > verticalMinDistance && Math.abs(velocityX) > minVelocity) { ` `   `  `        ``// 切换Activity  ` `        ``// Intent intent = new Intent(ViewSnsActivity.this, UpdateStatusActivity.class);  ` `        ``// startActivity(intent);  ` `        ``Toast.makeText(``this``,``"向右手势"``, Toast.LENGTH_SHORT).show();  ` `    ``} ` `   `  `    ``return``false``; ` `}`

OnFling的四个参数意思分别为

e1： The first down motion event that started the fling.手势起点的移动事件
e2： The move motion event that triggered the current onFling.当前手势点的移动事件
velocityX： The velocity of this fling measured in pixels per second along the x axis.每秒x轴方向移动的像素
velocityY： The velocity of this fling measured in pixels per second along the y axis.每秒y轴方向移动的像素

 1 `if````(e1.getX() - e2.getX() > verticalMinDistance && Math.abs(velocityX) > minVelocity)```

 1 2 3 ```public boolean onTouch(View v, MotionEvent event) {    ``` `    ``return````mGestureDetector.onTouchEvent(event);    ``` `}`

## Android 屏幕手势滑动中onFling()函数的技巧分析的更多相关文章

1. Android:实现手势滑动的事件处理方法

首先得Activity必须实现OnGestureListener接口,该接口提供了关于手势操作的一些方法, onDown方法:onDown是,一旦触摸屏按下,就马上产生onDown事件 ...

2. Android移动应用开发中常见的经验技巧总结

转:http://wwwdevstorecn/essay/essayInfo/6128.html 1. 对话保持的解决方案. 要求: 1.app中使用webview访问具体网站的内容,但是app与服务 ...

3. javaScript中with函数用法实例分析

javaScript 中的 with 函数 ,即所谓的with 语句,可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性,要给对象创建新的属性,必须明确地引用该对象. with 函 ...

4. javascript 手势（swipeLeft,swipeRight）滑动中使用css3动画卡顿，开启硬件加速

今天,在做一个移动端项目,遇到了css3动画卡顿的现象. 例图: 在手势滑动中(swipeLeft,swipeRight)遇到了动画卡顿的现象,最后使用了css3动画-webkit-transform ...

5. Android开发之手势滑动（滑动手势监听）详解

Android开发之手势滑动(滑动手势监听)详解 在Android应用中,经常需要手势滑动操作,比如上下滑动,或左右方向滑动,处理手势滑动通常有两种方法:一种是单独实现setOnTouchListen ...

6. Android 实现两屏幕互相滑动

Android 实现两屏幕互相滑动 下文来自: http://blog.csdn.net/song_shi_chao/article/details/7081664 ----------------- ...

7. Eclipse中通过Android模拟器调用OpenGL ES2.0函数操作步骤

原文地址: Eclipse中通过Android模拟器调用OpenGL ES2.0函数操作步骤 - 网络资源是无限的 - 博客频道 - CSDN.NET http://blog.csdn.net/fen ...

8. Android手势滑动Tab

Android手势滑动Tab //MainActivity.java public class MainActivity extends TabActivity { ; ; ; private Ges ...

9. Android Studio怎样查看资源或者函数在哪些类中被引用

很多人在做完Keymap匹配到Eclispe快捷键后,发现查看资源或者函数在哪些地方被引用的快捷键"Ctrl+Shift+G"不灵 了.你选中某个函数后,使用这个快捷键.发现仅仅会 ...

## 随机推荐

1. using关键字的使用

using语句的两个作用: 1)using可以导入命名空间 2)using可以释放对象占用的内存资源. 代码如下: using (SqlConnection con=new SqlConnection ...

2. Java 中新增的 foreach 的用法

JDK1.5加入的增强for和循环. foreach语句使用总结 增强for(part1:part2){part3}; part2中是一个数组对象,或者是带有泛性的集合. part1定义了一个局部 ...

3. BZOJ 3282 Tree ——KD-Tree

[题目分析] 明显的LCT维护连通性的题目. access的操作是比较巧妙的,可以把结点到根变成偏爱路径,而且保证了该点是链上深度最深的点. 而且需边的思想也很巧妙,保证了复杂度. 但是只能用于修改路 ...

4. NEXTDAY

#include <stdio.h> #include <stdlib.h> #include <string.h> #include "com_time ...

5. Axure矩形边框重合边框变成双倍宽度解决办法

选中两个矩形,菜单栏选择项目——项目设置——边界对齐(选择中心边界沿形状的边缘或者内边界对齐.将外边界对齐改为内边界对齐),即可去掉重合效果

6. Chapter 6: The Memory Hierarchy

Disk Geometry: 磁盘的结构如图,每个面为surface,surface上的同心圆为track,track包含sector,不同的surface的同半径track构成cylinder.越外 ...

7. HttpServletRequest cannot be resolved to a type。

问题描述:HttpServletRequest cannot be resolved to a type.Multiple markers at this line - The import java ...

8. Python简单实现决策树

__author__ = '糖衣豆豆' #决策树 import pandas as pda fname="~/coding/python/data/lesson.csv" data ...

9. UVA1374-Power Calculus(迭代加深搜索)

Problem UVA1374-Power Calculus Accept:107  Submit:584 Time Limit: 3000 mSec  Problem Description  In ...

10. NServiceBus官方文档翻译（二）NServiceBus 入门

在这篇教程中我们将学习如何创建一个非常简单的由客户端向服务端发送消息的订单系统.该系统包括三个项目:Client.Server 和 Messages,我们将按照以下步骤来完成这个任务. 创建 Clie ...