您的位置:首页 > 其它

手势监测器的使用

2016-04-13 21:50 127 查看
private GestureDetector gd;

@Override
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
gd.onTouchEvent(event);//绑定onTouch事件
return super.onTouchEvent(event);
}

//该方法在onCreate()时调用
private void initGesture() {
//初始化手势识别器,要想手势识别器生效,绑定onTouch事件
gd = new GestureDetector(new OnGestureListener() {

//覆盖此方法完成手势的切换效果
/**
* e1,按下的点
* e2 松开屏幕的点
* velocityX x轴方向的速度
* velocityY y轴方向的速度
*/
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// TODO Auto-generated method stub
//x轴方向的速度是否满足横向滑动的条件 pix/s
if (velocityX > 200) { //速度大于400像素每秒
//可以完成滑动
float dx = e2.getX() - e1.getX();//x轴方向滑动的间距
if (Math.abs(dx) < 100) {
return true;//如果间距不符合直接无效
}
if (dx < 0 ){//从右往左滑动
//这里调用左划事件方法
}  else {//从左往右滑动
//这里调用右划事件方法
}
}
return true;
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}

@Override
public void onShowPress(MotionEvent e) {
// TODO Auto-generated method stub

}

@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
// TODO Auto-generated method stub
return false;
}

@Override
public void onLongPress(MotionEvent e) {
// TODO Auto-generated method stub

}

@Override
public boolean onDown(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
});
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: