`
liujianguangaaa
  • 浏览: 236993 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

android GestureDetector使用

阅读更多

android为了增加用户体验,新增了GestureDetector类,那该类是做什么用的呢?

通俗的讲该类是 手势检测. 难道是手指有不同的动作系统会检测到,是的.确实如此.

哎,问题来了,那诡异了.那这个类和touch有什么关系呢?我们平常写代码的时候,如何是单击,我们都是通过挂载个listener来响应这个橱摸时间.那和这个类有关系吗? 恩,有关系的.

touch 是触摸,只要手指接触到屏幕都是touch. 为了增加用户体验.手指在屏幕滑动算不算橱摸呢?双击算不算橱摸呢?都是啊.

所以说.  touch是个广泛的概念,基本用来响应单击事件,如果更细致的区分各中touch事件,那就需要该类了.

口说没用,举个例子最要紧,弄出APK是硬道理,来吧.


package com.android;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;

public class Res extends Activity implements View.OnTouchListener {
    Button btn = null;
    private GestureDetector mGestureDetector = null;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        btn = (Button) findViewById(R.id.button);
        btn.setOnTouchListener(this);
        mGestureDetector = new GestureDetector(this, new LearnGestureListener());
    }

    public boolean onTouch(View view, MotionEvent event) {
        return mGestureDetector.onTouchEvent(event);
    }

    class LearnGestureListener extends GestureDetector.SimpleOnGestureListener {
        @Override
        public boolean onSingleTapUp(MotionEvent ev) {
            Log.d("DEBUG","onSingleTapUp");
            return true;
        }

        @Override
        public void onShowPress(MotionEvent ev) {
            Log.d("DEBUG","onShowPress");
        }

        @Override
        public void onLongPress(MotionEvent ev) {
            Log.d("DEBUG","onLongPress");
        }

        @Override
        public boolean onScroll(MotionEvent e1, MotionEvent e2,
                float distanceX, float distanceY) {
            Log.d("DEBUG","onScroll");
            return true;
        }

        @Override
        public boolean onDown(MotionEvent ev) {
            Log.d("DEBUG","onDownd");
            return true;
        }

        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
                float velocityY) {
            Log.d("DEBUG","onFling");
            return true;
        }
        public boolean onDoubleTap(MotionEvent event){
            Log.d("DEBUG","onDoubleTap");
            return true;
        }
    }

}

mGestureDetector = new GestureDetector(this, new LearnGestureListener());
        return mGestureDetector.onTouchEvent(event);

文件的关键基本就这两句.第一句创建了对象,第二句把事件传给这个对象.传过去后系统回判断做什么动作.然后new LearnGestureListener()来调用相应的处理函数做处理.

分享到:
评论

相关推荐

    android GestureDetector类及其用法

    Android sdk给我们提供了GestureDetector(Gesture:手势Detector:识别)类,通过这个类我们可以识别很多的手势,主要是通过他的onTouchEvent(event)方法完成了不同手势的识别。虽然他能识别手势,但是不同的手势要...

    2011.10.11——— android GestureDetector 测试OnGestureListener

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

    GestureDetector和SimpleOnGestureListener的使用教程

    GestureDetector和SimpleOnGestureListener的使用教程 GestureDetector是Android SDK中的一种手势识别机制,它可以识别多种手势,例如down、up、scroll、filing等。通过GestureDetector的构造方法,可以将...

    android GestureDetector依赖onTouchEvent判断左右滑动

    在Android开发中,手势识别是用户交互的重要组成部分,`GestureDetector`类是Android SDK提供的一种用于处理常见手势的工具类。本篇文章将深入探讨如何利用`GestureDetector`来判断左右滑动,以及其背后的源码解析。...

    Android手势识别GestureDetector分析

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

    Android GestureDetector实现手势滑动效果

    本文将深入探讨如何使用`GestureDetector`来实现屏幕上的滑动手势。 首先,我们需要在布局文件中添加一个视图元素,例如`ImageView`,作为手势识别的目标。在`activity_main.xml`中,我们创建了一个全屏的`...

    Android手势识别器GestureDetector使用详解

    Android手势识别器GestureDetector使用详解 Android手势识别器GestureDetector是Android系统中的一种手势识别器,用于识别用户在屏幕上的各种手势,如单击、双击、滑动、拖动等。GestureDetector可以帮助开发者轻松...

    Android源码-使用ViewFlipper+GestureDetector实现划动翻页

    `GestureDetector`是Android中处理手势识别的工具类,它能帮助我们识别出常见的触摸屏幕手势,如单击、双击、长按、滑动等。`GestureDetector`的核心在于它的`SimpleOnGestureListener`接口,开发者需要实现这个接口...

    Android GestureDetector用户手势检测实例讲解

    一、概述 当用户触摸屏幕的时候,会产生许多手势,例如down,up,scroll,filing...Android sdk给我们提供了GestureDetector(Gesture:手势Detector:识别)类,通过这个类我们可以识别很多的手势,主要是通过他的on

    Android GestureDetector手势滑动使用实例讲解

    `GestureDetector`是Android SDK提供的一种用于处理基本手势的工具类,它可以帮助开发者轻松地识别和处理用户的触摸事件,如单击、双击、滑动和长按等。本篇文章将深入探讨如何使用`GestureDetector`实现手势滑动,...

    利用GestureDetector关闭activity

    首先,我们需要了解`GestureDetector`的基本使用步骤: 1. 创建`GestureDetector`实例:创建一个`GestureDetector`对象,通常需要传递一个实现了`GestureDetector.OnGestureListener`接口的匿名内部类或自定义类。...

    利用GestureDetector实现页面滑动Demo

    `GestureDetector`是Android SDK提供的一种用于检测常见触摸手势的工具类,比如单击、长按、滑动等。本教程将详细讲解如何利用`GestureDetector`来实现一个页面滑动的Demo。 首先,我们需要了解`GestureDetector`的...

    对应源码---完整版

    `GestureDetector`是Android SDK提供的一种用于处理基本手势的类,它可以帮助开发者轻松地实现单击、滑动、双击等常见手势。这篇文档将详细解析`GestureDetector`的使用方法,并结合提供的源码进行深入探讨。 ### ...

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

    `GestureDetector`是Android SDK提供的一种用于检测常见手势的工具类,如单击、双击、滑动等。本实例将详细讲解如何使用`GestureDetector`来实现简单的手势监听与处理。 首先,我们需要了解`GestureDetector`的工作...

    gesturedetector demo

    `GestureDetector`还可以与`ScaleGestureDetector`、`RotateGestureDetector`等其他手势检测类一起使用,构建出丰富的多指手势,例如 pinch-to-zoom(捏合缩放)和 rotate-to-rotate(旋转)等。 总的来说,`...

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

    综上所述,解决Android中使用GestureDetector遇到的不响应问题,需要我们理解触摸事件的传递机制、正确地使用GestureDetector以及合理地处理事件的返回值。通过这些方式,我们可以使得手势监听器能够正确地响应各种...

    Android触摸及手势操作GestureDetector

    `GestureDetector`是Android SDK提供的一种高效且灵活的方式,用于处理复杂的触摸手势。本篇文章将深入探讨`GestureDetector`的工作原理和使用方法。 首先,触摸事件在Android中由`MotionEvent`类表示,它包含了...

    【Android】滑动屏幕效果GestureDetector、OnGestureListener、ViewFlipper

    `GestureDetector`、`OnGestureListener` 和 `ViewFlipper` 是Android SDK提供的重要组件,用于处理用户的手势输入和视图切换。接下来,我们将详细讨论这三个组件以及如何将它们结合使用来创建滑动屏幕的效果。 `...

Global site tag (gtag.js) - Google Analytics