android 手势操作GestureDetector

package com.sphere.gesturetest;

import android.os.Bundle;
import android.app.Activity;
import android.view.GestureDetector;
import android.view.GestureDetector.OnGestureListener;
import android.view.Menu;
import android.view.MotionEvent;
import android.widget.Toast;

public class MainActivity extends Activity implements OnGestureListener{

    GestureDetector gestureDetector;
    private int MIN_DESTANCE = 50;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        gestureDetector = new GestureDetector(this,this);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        //交给手势检测类处理touch事件
        return gestureDetector.onTouchEvent(event);
    }

    //用户按下时触发
    @Override
    public boolean onDown(MotionEvent arg0) {
        // TODO Auto-generated method stub
        toast("按下");
        return false;
    }

    //用户在屏幕上拖动时触发
    @Override
    public boolean onFling(MotionEvent arg0, MotionEvent arg1, float arg2,
            float arg3) {
        // TODO Auto-generated method stub
        if(arg0.getX() - arg1.getX() > MIN_DESTANCE){
            toast("向左滑");
        }
        if(arg0.getX() - arg1.getX() < MIN_DESTANCE){
            toast("向右滑");
        }
        return false;
    }

    @Override
    public void onLongPress(MotionEvent arg0) {
        // TODO Auto-generated method stub
        toast("长按");
    }

    @Override
    public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2,
            float arg3) {
        // TODO Auto-generated method stub
        //toast("滚动。。。。");
        return false;
    }

    //当用户在屏幕上按下 而且还未移动和松开时触发
    @Override
    public void onShowPress(MotionEvent arg0) {
        // TODO Auto-generated method stub
        toast("onShowPress。。。。");
    }

    //用户在触摸屏上轻击事件将会触发
    @Override
    public boolean onSingleTapUp(MotionEvent arg0) {
        // TODO Auto-generated method stub
        toast("onSingleTapUp。。。。");
        return false;
    }

    public void toast(String text){
        Toast.makeText(this, text, Toast.LENGTH_SHORT).show();
    }

}

其他精彩文章文章

在 android dialog中使用Autocompletetext大型网站架构设计-Solrmysql哈希索引android学习笔记(32)网格视图(GridView )和图形切换器(ImageSwi...android学习笔记(31)可展开的列表组件(ExpandableListView )

更多关于android开发文章

时间: 2024-11-05 20:04:28

android 手势操作GestureDetector的相关文章

Android手势操作使用Fling,Scroll等Gesture

Android手势操作  一盏灯, 一片昏黄: 一简书, 一杯淡茶. 守着那一份淡定, 品读属于自己的寂寞. 保持淡定, 才能欣赏到最美丽的风景! 保持淡定, 人生从此不再寂寞. 前言利用手势操作在现在的APP中越来越普及,大多数时候使用Fling,Scroll等Gesture能大幅度提高用户的操作体验,特别是大屏手机返回键程越来越大的现状下.  在Android系统下,手势识别是通过Gestur... douban.com/doulist/38811866/douban.com/doulist

Android 触摸及手势操作GestureDetector

转自:http://blog.csdn.net/xyz_lmn/article/details/16826669 现在的智能手机不敢说百分百的都是触摸屏,也应该是百分之九九以上为触摸屏了,触摸屏为我们操作无键盘.无鼠标的手机系统带来了很多的便利.当用户触摸屏幕时会产生很多的触摸事件,down.up.move等等.View类有个View.OnTouchListener内部接口,通过重写他的onTouch(View v, MotionEvent event)方法,我们可以处理一些touch事件,如下

Android学习指南之三十八:Android手势操作编程[转]

手势操作在我们使用智能设备的过程中奉献了不一样的体验.Android开发中必然会进行手势操作方面的编程.那么它的原理是怎样的呢?我们如何进行手势操作编程呢? 手势操作原理 首先,在Android系统中,每一次手势交互都会依照以下顺序执行. 1. 接触接触屏一刹那,触发一个MotionEvent事件. 2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象. 3. 通过GestureDetector(手势识别器)转发次MotionEvent对

Android -- 手势操作识别

原文:http://jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1020/448.html 按下(onDown): 刚刚手指接触到触摸屏的那一刹那,就是触的那一下. 抛掷(onFling): 手指在触摸屏上迅速移动,并松开的动作. 长按(onLongPress): 手指按在持续一段时间,并且没有松开. 滚动(onScroll): 手指在触摸屏上滑动. 按住(onShowPress): 手指按在触摸屏上,它的时间范围在按下起效,在长按之前. 抬起

Android的手势操作识别

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

Android的手势操作识别-转

Android的手势操作识别 时间:2012-10-20 23:09 来源:未知 作者:admin 点击: 282 次 摘要 首先,在Android系统中,每一次手势交互都会依照以下顺序执行. 1. 接触接触屏一刹那,触发一个MotionEvent事件. 2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象. 3. 通过GestureDetector(手势识别器)转发次MotionEvent对象 首先,在Android系统中,每一次手势交

android事件系列-onTouch事件与手势操作

提示记忆:应用流程:在Activity中对控件执行 view.setOnTouchListener( OnTouchListener i);实现里面的OnTouchListener 接口中的方法,重点再于理解里面的方法的实现步骤, 触摸,手势操作已经很好的融入了我们的生活.那么Android开发中触摸事件要如何捕捉?如何处理?如何识别手势?事件的传递机制又是怎么样的?下面我们将通过一个小例子来进行这方面的学习. 先看效果图 <ignore_js_op> 如上图所示,就是一个跟随手指移动的按钮.

【工作记录】android手势事件操作记录

/* 用户按下触摸屏.快速移动后松开 public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { //参数解释: // e1:第1个ACTION_DOWN MotionEvent // e2:最后一个ACTION_MOVE MotionEvent // velocityX:X轴上的移动速度,像素/秒 // velocityY:Y轴上的移动速度,像素/秒 // 触发条件 : /

android开发之GestureDetector手势识别(调节音量、亮度、快进和后退)

写UI布局: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" andr