//初始化手势监听
public void init()
{
gestureDetector = new GestureDetector(new IGestureListener());
gestureDetector.setIsLongpressEnabled(true);
}
@Override//处理点击事件,如果是手势的事件则不作点击事件 普通View
//注:必须是 setClickable(true); setLongClickable(true);
public boolean performClick() {
if(isGesture){
return true;
}else{
return super.performClick();
}
}
@Override//处理点击事件,如果是手势的事件则不作点击事件 ListView
public boolean performItemClick(View view, int position, long id) {
if(isGesture){
return true;
}else{
return super.performItemClick(view, position, id);
}
}
@Override//触摸事件转成手势事件
public boolean onTouchEvent(MotionEvent ev)
{
isGesture = gestureDetector.onTouchEvent(ev);
return super.onTouchEvent(ev);
}
//手势监听
private class IGestureListener extends SimpleOnGestureListener{
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,float velocityY) {
if (e2.getX() - e1.getX() > (getWidth()/4) && Math.abs(velocityX) > minVelocity) {
Log.d(TAG," ---------- next " );
return true;
}
return false;
}
}