1.Gesture的作用

①在触摸屏上的连续触摸行为,形成某个方向上的移动趋势  (利用手势检测)

②连续画出一个不规则的行为  (利用增加手势)

2.手势检测(GestureDetector)

//创建GestureDetector

public class GestureTest extends Activity  {
GestureDetector detector = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//第一步:用匿名类实现接口,供创建GestureDetector时候使用。
GestureDetector.OnGestureListener gestureListener = new GestureDetector.OnGestureListener() {
@Override
public boolean onDown(MotionEvent e) {
//在屏幕按下时触发
return false;
} @Override
public void onShowPress(MotionEvent e) {
//在屏幕按下、未移动和松开时候触发
} @Override
public boolean onSingleTapUp(MotionEvent e) {
//在屏幕按下时触发
return false;
} @Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
//在屏幕滑动的时候触发
return false;
} @Override
public void onLongPress(MotionEvent e) {
//在屏幕长按的时候触发
} @Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
//Touch了滑动一点距离后,拿起手时触发。velocityX表示“拖过”动作在横向的速度,velocityY表示“拖过”动作在纵向时的速度
return false;
}
};
//第二步:构造方法public GestureDetector(Context context,GestureDetector.OnGestureListener listener)
detector = new GestureDetector(this,gestureListener);
} //第三步:重写Activity的onTouchEvent()方法,并将点击事件给GestureDetector处理
@Override
public boolean onTouchEvent(MotionEvent event) {
return detector.onTouchEvent(event);
}
}

注:关于方法执行的顺序
点击一下非常快的(不滑动)Touchup: 
onDown->onSingleTapUp->onSingleTapConfirmed 
点击一下稍微慢点的(不滑动)Touchup: 
onDown->onShowPress->onSingleTapUp->onSingleTapConfirmed

点击后一直不滑动:onDown->onShowPress->onLongPress

3.增加手势(放弃,不讲)

Gesture(手势)浅析的更多相关文章

  1. Android Gesture 手势创建以及使用示例

    在Android1.6的模拟器里面预装了一个叫Gestures Builder的程序,这个程序就是让你创建自己的手势的(Gestures Builder的源代码在sdk问samples里面有,有兴趣可 ...

  2. UIGestureRecognizer 手势浅析

    目录[-] iOS开发中的手势体系——UIGestureRecognizer分析及其子类的使用 一.引言 二.手势的抽象类——UIGestureRecognizer 1.统一的初始化方法 2.手势状态 ...

  3. Touch Gesture手势总结

  4. swift 中手势的使用

    swift 中手势的使用 /**点击手势*/ func tapGestureDemo() { //建立手势识别器 let gesture = UITapGestureRecognizer(target ...

  5. Swift之手势总结

    手势个人笔记,代码简单,不过多赘述. 建立手势只需三步 建立和设置手势识别器实例,设置target,action,指定一些属性 附加识别器到视图 实现action方法 1.首先还是创建一个view @ ...

  6. iOS 手势大全

    1.Touch事件 //系统自动调用 //一个UITouch代表一根手指 按住option变成两根手指 //虽然是两个手指,但只执行一次触摸事件 - (void)touchesBegan:(NSSet ...

  7. Android基础新手教程——3.8 Gestures(手势)

    Android基础新手教程--3.8 Gesture(手势) 标签(空格分隔): Android基础新手教程 本节引言: 周六不歇息,刚剪完了个大平头回来.继续码字~ 好的,本节给大家带来点的是第三章 ...

  8. 移动端前端常见的触摸相关事件touch、tap、swipe等整理

    前端的很多事件在PC端和浏览器端可公用,但有些事件却只在移动端产生,如触摸相关的事件 本文整理了移动端常见的一些事件,包括原生支持的click.touch.tap.swipe事件,也有定义型的gest ...

  9. WEB移动应用框架构想(转载)

    iUI.jQTouch.WPTouch.PhoneGap.XUI.iWebkit.Rhodes.gwt-mobile…当我们已经开始惊 叹 web移动应用充斥着各种各样框架与类库的时候,其实各大web ...

随机推荐

  1. WdatePicker日历控件使用方法(转)

    转自:http://www.cnblogs.com/weixing/archive/2011/08/15/2139431.html WdatePicker日历控件使用方法   1. 跨无限级框架显示 ...

  2. [STOI2014]舞伴(dp)

    STOI是汕头OI...无聊翻到了去年的比赛题目,就写然后自己测了一下. 其实我很想吐槽为什么题目名是perm,perm好像和舞伴完全无关.. dp(x,s)=∑dp(x-1,s-{i}))(0< ...

  3. js 函数(function)

    <Javascript高级程序设计第三版> 3.7 函数 1. ECMAScript中的函数在定义时,不必指定是否返回值. 2. 位于return语句之后的任何code都永远不会执行.(之 ...

  4. js scroll 教程

    <html><head><script language=javascript>function s(){var c = window.document.body. ...

  5. HTML5图形绘制学习(1)-- Canvas 元素简介

    Canvas元素是HTML5中新增的一个专门用来进行图形绘制的元素.和其名称Canvas一样,它就相当于一个画布,我们可以在其上描绘各种图形. 这里所说的绘制图型,不是指我们可以进行可视化的图形绘制, ...

  6. 1001 A + B Problem

    基本输入输出函数 #include <stdio.h> int main(){ int a,b; ){ printf("%d\n",a+b); } ; }

  7. python学习day1

    python简单介绍: Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做为ABC 语言的一种 ...

  8. Myeclipse 2014配置SVN详细图解

    1.什么是SVN? 管理软件开发过程中的版本控制工具. 2.myeclipse安装SVN插件步骤,以myeclipse 2014为例. (1)下载SVN插件 http://subclipse.tigr ...

  9. 以Qemu模拟Linux,学习Linux内核

    文章名称:以Qemu模拟Linux,学习Linux内核作      者:five_cent文章地址:http://www.cnblogs.com/senix/archive/2013/02/21/29 ...

  10. redhat 6.3 64位安装中文输入法全过程记录

    首先,修改/etc/profile文件,在末尾增加两行: export LC_ALL="zh_CN.UTF-8" export LANG="zh_CN.UTF-8&quo ...