view为你想要设置的控件,//TODO注解处写你左滑右滑的逻辑
view.setOnTouchListener(new View.OnTouchListener() {
float a = 0;
float b = 0;
@Override
public boolean onTouch(View v, MotionEvent e) {
switch (e.getAction()) {
case MotionEvent.ACTION_MOVE:
Log.i("OnTouch","ACTION_MOVE移动");
break;
case MotionEvent.ACTION_DOWN:
Log.i("OnTouch","ACTION_DOWN开始触摸");
Log.i("OnTouch",e.getX()+"");
Log.i("OnTouch",e.getY()+"");
//获得开始触摸时的X值
a=e.getX();
break;
case MotionEvent.ACTION_UP:
Log.i("OnTouch","ACTION_UP抬起手指");
Log.i("OnTouch",e.getX()+"");
Log.i("OnTouch",e.getY()+"");
//获得抬起手指时的X值
b=e.getX();
//a<b证明右滑,否则左滑
if(a<b){
Log.i("OnTouch","-1");
}else{
Log.i("OnTouch","1");
}
break;
case MotionEvent.ACTION_CANCEL:
Log.i("OnTouch","ACTION_CANCEL手势取消");
Log.i("OnTouch",e.getX()+"");
Log.i("OnTouch",e.getY()+"");
//获得抬起手指时的X值
b=e.getX();
//a<b证明右滑,否则左滑
if(a<b){
//TODO 这里执行右滑事件
Log.i("OnTouch","右滑");
}else{
//TODO 这里执行左滑事件
Log.i("OnTouch","左滑");
}
break;
case MotionEvent.ACTION_OUTSIDE:
Log.i("OnTouch","ACTION_OUTSIDE超出UI范围");
Log.i("OnTouch",e.getX()+"");
Log.i("OnTouch",e.getY()+"");
break;
default:
break;
}
return true;
}
});