android使用gesturedetector手势识别示例分享

 更新时间:2014年01月11日 14:26:16   作者:  
这篇文章主要介绍了android使用手势识别的方法,介绍了单击触摸屏触发的事件和双击事件的使用等方法,大家参考使用吧

复制代码 代码如下:

public class MyGestureLintener extends SimpleOnGestureListener {
private Context context;
public MyGestureLintener(Context context) {
    super();
    this.context = context;
}

// 单击,触摸屏按下时立刻触发
/*@Override
public boolean onDown(MotionEvent e) {
    // TODO Auto-generated method stub
    Toast.makeText(context, "Down " + e.getAction(), Toast.LENGTH_SHORT)
        .show();
    return true;
}*/
// 双击,手指在触摸屏上迅速点击第二下时触发
@Override
public boolean onDoubleTap(MotionEvent e) {
    // TODO Auto-generated method stub
    return super.onDoubleTap(e);
}

// 双击的按下跟抬起各触发一次
@Override
public boolean onDoubleTapEvent(MotionEvent e) {
    // TODO Auto-generated method stub
    return super.onDoubleTapEvent(e);
}

 

// 滑动,触摸屏按下后快速移动并抬起,会先触发滚动手势,跟着触发一个滑动手势
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
        float velocityY) {
    // TODO Auto-generated method stub
    return super.onFling(e1, e2, velocityX, velocityY);
}

// 长按,触摸屏按下后既不抬起也不移动,过一段时间后触发
@Override
public void onLongPress(MotionEvent e) {
    // TODO Auto-generated method stub
    Toast.makeText(context, "LONG " + e.getAction(), Toast.LENGTH_SHORT)
            .show();
}

// 滚动,触摸屏按下后移动
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
        float distanceY) {
    Toast.makeText(context, "onScroll " + e2.getAction(), Toast.LENGTH_SHORT)
    .show();
    return true;
}

// 短按,触摸屏按下后片刻后抬起,会触发这个手势,如果迅速抬起则不会
@Override
public void onShowPress(MotionEvent e) {
    // TODO Auto-generated method stub
    Toast.makeText(context, "Show " + e.getAction(), Toast.LENGTH_SHORT)
            .show();

}

// 单击确认,即很快的按下并抬起,但并不连续点击第二下
/*@Override
public boolean onSingleTapConfirmed(MotionEvent e) {
    // TODO Auto-generated method stub
    Toast.makeText(context, "onSingleTapConfirmed " + e.getAction(), Toast.LENGTH_SHORT)
    .show();
    return true;
}*/

// 抬起,手指离开触摸屏时触发(长按、滚动、滑动时,不会触发这个手势)
/*@Override
public boolean onSingleTapUp(MotionEvent e) {
    // TODO Auto-generated method stub

    Toast.makeText(context, "onSingleTapUp " + e.getAction(), Toast.LENGTH_SHORT)
    .show();
    return true;
}*/
public class MainActivity extends Activity {
private GestureDetector mGestureDetector;//手势对象
private MyGestureLintener myGestureLintener;//手势监听的接口对象

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    myGestureLintener = new MyGestureLintener(this);

    //手势对象的构造方法
    mGestureDetector = new GestureDetector(this,
            myGestureLintener);
}

/**GestureDetector类的onTouchEvent方法用来辨别不同的手势*/
@Override
public 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);
    if (b) {
        Intent in = new Intent();
        in.setClass(this, testActivity.class);
        startActivity(in);
    }
    return b;

}

@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;
}
}

相关文章

  • Android编程简易实现XML解析的方法详解

    Android编程简易实现XML解析的方法详解

    这篇文章主要介绍了Android编程简易实现XML解析的方法,结合实例形式总结分析了Android操作xml文件的各种常见技巧与相关注意事项,需要的朋友可以参考下
    2017-08-08
  • Android实现3D推拉门式滑动菜单源码解析

    Android实现3D推拉门式滑动菜单源码解析

    这篇文章主要为大家详细解析了Android实现3D推拉门式滑动菜单源码以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
    2017-11-11
  • Android开发中的简单设置技巧集锦

    Android开发中的简单设置技巧集锦

    这篇文章主要介绍了Android开发中的简单设置技巧,较为详细的汇总了Android针对壁纸、语言、音量、录音等多种设置的方法,非常简单实用,需要的朋友可以参考下
    2016-06-06
  • Android开发使用Message对象分发必备知识点详解

    Android开发使用Message对象分发必备知识点详解

    这篇文章主要为大家介绍了Android开发使用Message对象分发必备知识点详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • Android自定义viewGroup实现点击动画效果

    Android自定义viewGroup实现点击动画效果

    这篇文章主要介绍了Android自定义viewGroup实现点击动画效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Android普通应用升级为系统应用并获取系统权限的操作

    Android普通应用升级为系统应用并获取系统权限的操作

    这篇文章主要介绍了Android普通应用升级为系统应用并获取系统权限的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • android 使用Xml文件定义Shape方式

    android 使用Xml文件定义Shape方式

    这篇文章主要介绍了android 使用Xml文件定义Shape方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Android设计模式系列之单例模式

    Android设计模式系列之单例模式

    单例模式,可以说是GOF的23种设计模式中最简单的一个。接下来通过本文给大家实例讲解android设计模式系列之单例模式的相关知识,感兴趣的朋友一起看看吧
    2016-09-09
  • 详解OpenGL Shader彩虹条纹效果的实现

    详解OpenGL Shader彩虹条纹效果的实现

    这篇文章主要为大家介绍了如何通过OpenGL Shader实现彩虹条纹效果,最后的效果和图片处理软件colorow中的彩虹效果滤镜相似,需要的可以参考一下
    2022-02-02
  • Android hid发送apdu格式数据示例详解

    Android hid发送apdu格式数据示例详解

    这篇文章主要介绍了Android hid发送apdu格式数据,在 Android 中,如果你想通过 HID(Human Interface Device)发送 APDU 格式的数据,通常会涉及 USB HID 设备或蓝牙 HID 设备,本文给大家讲解的非常详细,需要的朋友可以参考下
    2023-08-08

最新评论