`

Android中手势监听GestureDetector基础

阅读更多

最近做的2个东西中都碰到了需要对用户手势输入监听并做出一定的相应 抽空把这些基础实现做个记录 网上这方面资料也不少 这里说的手势监听只是简单的比如上滑,下滑,拖动等,而没有说到画图板这样的应用 当然举一反三这个也是能实现的。

这里分2种 第一种是某个view(比如一个自定义的view或是控件本身,也包括layout)需要监听,那么这个时候需要在这个view上setOnTouchListener,另一种是程序本身就监听,如此便是让类实现2个接口,即implements OnGestureListener, OnTouchListener(然后同样this.setOnTouchListener)

之后需要做的关键的一步,要记得对view或者class本身setOnTouchListener以后,还需要setLongClickable(true); 这是非常非常关键的一句话,不然手势监听无效

 

之后要做的是申明一个GestureDetector对象,直接new就可以了 这是需要实现几个关键的方法,具体实现哪些就是根据需要了。方法包括:

onSingleTapUp,onShowPress,onScroll,onLongPress,onFling,onDown

各自的功能从方法名上应该都能看出,这其中有一个方法onFling是比较关键的,一般来说手势识别都是在这个里面做监听,他在你做完一个手势的时候被触发。参数MotionEvent是对应你按下放开的动作,可以从中获得按下点的X,Y等,velocityX参数是X方向上移动的速度,这样当手势速度很慢的时候,我们可以通过判断不把这当做一个动作。

 

之后在onTouch方法上 把监听丢给GestureDetector

return mGestureDetector.onTouchEvent(event);

 

最后如果程序不需要对手势做监听,只是需要响应触屏动作,那可以不用GestureDetector,只需要在onTouch中队MotionEvent.getAction做出判断就行了(Action.DOWN,UP等)

分享到:
评论

相关推荐

    Android 滑动手势监听例子源码.zip

    这个"Android 滑动手势监听例子源码.zip"文件提供了一个简单的实例,帮助开发者理解和实现滑动手势监听功能。下面我们将深入探讨Android中滑动手势的原理、实现方式以及如何在实际应用中运用这些知识。 首先,...

    Android 手势监听 控件随手势而动

    本篇主要介绍Android手势监听的相关知识点,结合给定的"Android 手势监听 控件随手势而动"的标题和描述,我们将探讨如何在Android应用中实现自定义手势以及其在实际开发中的应用。 首先,Android SDK提供了多种内置...

    Android手势识别GestureDetector分析

    在Android系统中,每一次手势交互都会依照以下顺序执行。 1. 接触接触屏一刹那,触发一个MotionEvent事件。 2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象。 3. 通过GestureDetector...

    Android Webview滑动监听

    在Android开发中,Webview是一个非常重要的组件,它允许开发者在原生应用中嵌入网页内容,实现网页与原生应用的交互。本篇将详细讲解如何在Android Webview中实现滑动监听以及图片的放大缩小功能。 首先,我们要...

    Android在Fragment中实现监听触摸事件

    "Android在Fragment中实现监听触摸事件" Android在Fragment中实现监听触摸事件是指在Android应用程序中,如何在Fragment中监听触摸事件。Fragment是Android应用程序中的一个组件,它可以在Activity中使用,但是它并...

    android通过手势监听实现悬浮按钮

    在Android开发中,实现一个类似苹果风格的手势监听悬浮按钮是一项常见的需求,它可以提供便捷的交互体验。本文将深入探讨如何在Android应用中创建并实现这样的功能。 首先,我们需要了解Android中的手势识别机制。...

    Android编程使用GestureDetector实现简单手势监听与处理的方法

    本实例将详细讲解如何使用`GestureDetector`来实现简单的手势监听与处理。 首先,我们需要了解`GestureDetector`的工作原理。它通过监听`MotionEvent`来捕获用户的触摸行为,并根据这些行为判断是否触发了预定义的...

    Android例子源码滑动手势监听例子源码.zip

    总结来说,这个源码例子将帮助开发者深入理解如何在Android应用中实现滑动手势监听,并结合`GestureDetector`和`Scroller`实现平滑的滚动效果。通过对源码的分析和学习,开发者能够更好地设计和实现用户友好的交互...

    Android手势识别器GestureDetector使用详解

    Android手势识别器GestureDetector是Android系统中的一种手势识别器,用于识别用户在屏幕上的各种手势,如单击、双击、滑动、拖动等。GestureDetector可以帮助开发者轻松地实现手势识别功能,提高应用程序的用户体验...

    android 手势监听

    总之,Android手势监听和View的位置参数是构建交互式应用的关键技术。理解和熟练运用这些技术,能够帮助开发者创造出更加生动、直观的用户界面,提升应用的整体质量。在实际开发中,应注重手势的识别精度、流畅度...

    2011.10.11——— android GestureDetector 测试OnGestureListener

    这篇2011年的博客文章“2011.10.11——— android GestureDetector 测试OnGestureListener”很可能详细探讨了如何使用`GestureDetector`来监听和处理用户的手势。 `GestureDetector`的核心在于它的监听器`...

    Android中的View与ViewGroup绘制过程,手势监听顺序与使用

    手势监听在Android中是通过GestureDetector和MotionEvent来实现的。当用户触摸屏幕时,系统会产生MotionEvent,开发者可以通过重写Activity或View的onTouchEvent()方法来接收并处理这些事件。GestureDetector则提供...

    andorid 使用手势监听器GestureDetector遇到的不响应问题

    在Android开发中,手势监听器GestureDetector是用来检测用户的手势操作,并且做出相应的响应的一个工具类。然而,在使用GestureDetector时,开发者有时会遇到不响应的问题,这可能是由于各种原因导致的。为了解决这...

    Android中手势基础

    总的来说,Android手势基础涵盖了多种触摸事件的处理,通过巧妙地使用 GestureDetector 和自定义的监听器,开发者可以创建出更加流畅和自然的用户界面。理解并熟练运用这些手势,对于提升Android应用的用户体验至关...

    Android 滑动手势监听例子

    本项目就是一个专注于实现滑动手势监听的实例,它可以帮助开发者理解如何在Android应用中检测和处理滑动事件。 滑动手势在Android中通常涉及到`GestureDetector`类,这是一个内置的工具类,用于识别常见的触摸手势...

    RecycleView实现手势监听、按钮监听控制其滑动功能

    本文将深入探讨如何在横向RecycleView中实现手势监听和按钮监听,以此来控制RecycleView的滑动功能。 首先,我们要了解RecycleView的基本用法。RecycleView通常配合Adapter和ViewHolder一起工作,Adapter负责填充...

    Android触屏手势识别Demo源码.rar

    1. **GestureDetector的使用**:源码中可能创建了`GestureDetector`对象,并设置了监听器,通过`setOnGestureListener()`方法传递实现` GestureDetector.OnGestureListener`接口的类。在这个类中,会覆写如`onDown()...

    android通过手势切换activity

    总的来说,实现“android通过手势切换activity”需要对Android手势识别、Activity管理和动画有一定的了解。通过合理的设计和实现,可以提高应用的互动性和用户体验。结合源码分析和工具库的使用,可以使开发过程更加...

    Android activity加入左右监听手势,页面是一个listview,不影响listview的点击事件

    这涉及到Android手势识别、触摸事件处理以及ListView的自定义行为。 1. **Android手势识别**: Android提供了多种方式来实现手势识别,如`GestureDetector`、`ScaleGestureDetector`和`SwipeRefreshLayout`等。在...

Global site tag (gtag.js) - Google Analytics