GestureDetector使用实例

package com.example.test1;import android.app.Activity;import android.content.Context;import android.content.Intent;import android.os.Bundle;import android.view.GestureDetector;import android.view.GestureDetector.SimpleOnGestureListener;import android.view.Menu;import android.view.MotionEvent;import android.widget.Toast;/*双击时调用过程如下onDown(第一下按下) onSingleTapUp(第一下抬起) onDoubleTap,onDoubleTapEvent,onDown(第二下按下) onDoubleTapEvent(第二下抬起)*/class MyGestureLintener extends SimpleOnGestureListener {private Context context;public MyGestureLintener(Context context) {    super();    this.context = context;}// 单击,触摸屏按下时立刻触发@Overridepublic boolean onDown(MotionEvent e) {    // TODO Auto-generated method stub    System.out.println("onDown");    return true;}// 双击,手指在触摸屏上迅速点击第二下时触发@Overridepublic boolean onDoubleTap(MotionEvent e) {    // TODO Auto-generated method stub     System.out.println("onDoubleTap");    return super.onDoubleTap(e);}// 双击的按下跟抬起各触发一次@Overridepublic boolean onDoubleTapEvent(MotionEvent e) {    // TODO Auto-generated method stub     System.out.println("onDoubleTapEvent");    return super.onDoubleTapEvent(e);}// 滑动,触摸屏按下后快速移动并抬起,会先触发滚动手势,跟着触发一个滑动手势@Overridepublic boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,        float velocityY) {    // TODO Auto-generated method stub    System.out.println("onFling");    return super.onFling(e1, e2, velocityX, velocityY);}// 长按,触摸屏按下后既不抬起也不移动,过一段时间后触发@Overridepublic void onLongPress(MotionEvent e) {    // TODO Auto-generated method stub    System.out.println("onLongPress");}// 滚动,触摸屏按下后移动@Overridepublic boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,        float distanceY) {    System.out.println("onScroll");    return true;}// 短按,触摸屏按下后片刻后抬起,会触发这个手势,如果迅速抬起则不会,长按也会在onLongPress之前调用此函数@Overridepublic void onShowPress(MotionEvent e) {    // TODO Auto-generated method stub    System.out.println("onShowPress");}// 单击确认,即很快的按下并抬起,但并不连续点击第二下@Overridepublic boolean onSingleTapConfirmed(MotionEvent e) {    // TODO Auto-generated method stub    System.out.println("onSingleTapConfirmed");    return true;}// 抬起,手指离开触摸屏时触发(长按、滚动、滑动时,不会触发这个手势;单击和短按会出发这个手势)@Overridepublic boolean onSingleTapUp(MotionEvent e) {    // TODO Auto-generated method stub    System.out.println("onSingleTapUp");    return true;}}public class MainActivity extends Activity {private GestureDetector mGestureDetector;//手势对象private MyGestureLintener myGestureLintener;//手势监听的接口对象@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main11);    myGestureLintener = new MyGestureLintener(this);    //手势对象的构造方法    mGestureDetector = new GestureDetector(this,            myGestureLintener);}/**GestureDetector类的onTouchEvent方法用来辨别不同的手势*/@Overridepublic boolean onTouchEvent(MotionEvent event) {    boolean b = false;    int i = event.getAction();    int j = MotionEvent.ACTION_MOVE;    System.out.println(i+"<----------------->"+j);    b = mGestureDetector.onTouchEvent(event);    return b;}}

更多相关文章

  1. Android手势操作(三)
  2. android 如何利用手势放大和缩小一个图片?
  3. DrawLayout几个注意点
  4. android recycleview 中禁止多点触发
  5. android手势滑动关闭当前activity
  6. SQLiteOpenHelper&SharedPreferences练习
  7. 蓝牙遥控器获取电量GATT
  8. Android手势操作(二)
  9. Android实现手势缩放图片

随机推荐

  1. Android(安卓)启动模式
  2. android中scrollview与webview冲突事件
  3. Android本地相册图片URI转换绝对路径
  4. Android(安卓)Parcel学习
  5. android view获取在屏幕上的绝对坐标
  6. android 自定义控件的style
  7. Android计算下载速度
  8. Android(安卓)沉浸式状态栏 一体化状态栏
  9. Android培训班(42)
  10. 【Android开发】网络编程及Internet应用-