Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android使用gesturedetector手势识别示例分享大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。


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,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使用gesturedetector手势识别示例分享全部内容,希望文章能够帮你解决android使用gesturedetector手势识别示例分享所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。