public boolean onTouchEvent(MotionEvent event) {
if(mAction == TOUCH_ACTION_MOVE){
return false;
}
boolean consumed = mGestureDetector.onTouchEvent(event);
// if (event.getAction() == MotionEvent.ACTION_UP) {
// if (mIsTouched || mIsDragging) {
// processScrollSnap();
// processGesture();
// }
// }
// return super.onTouchEvent(event);
return consumed;
}
public boolean dispatchTouchEvent(MotionEvent event) {
boolean consumed = mGestureDetector.onTouchEvent(event);
final int action = event.getAction();
Log.d("eeeee", "dispatchTouchEvent action="+action+", mAction="+mAction);
final float x = event.getX();
final float y = event.getY();
switch(action){
case MotionEvent.ACTION_DOWN:
mAction = TOUCH_ACTION_NONE;
mLastMotionX = x;
mLastMotionY = y;
break;
case MotionEvent.ACTION_MOVE:
int deltaX = (int) (mLastMotionX - x);
int deltaY = (int) (mLastMotionY - y);
if (mAction == TOUCH_ACTION_NONE) {
if (Math.abs(deltaX) < 10 && Math.abs(deltaY) > 10) {
mAction = TOUCH_ACTION_MOVE;
} else if (Math.abs(deltaX) > 10 && Math.abs(deltaY) < 10) {
mAction = TOUCH_ACTION_SNAP;
}
break;
}
if(mAction == TOUCH_ACTION_SNAP){
return true;
}else if(mAction == TOUCH_ACTION_MOVE){
return super.dispatchTouchEvent(event);
}
break;
case MotionEvent.ACTION_UP:
if (mIsTouched || mIsDragging) {
processScrollSnap();
processGesture();
return consumed;
}
mAction = TOUCH_ACTION_NONE;
default:
mAction = TOUCH_ACTION_NONE;
break;
}
// return consumed;
return super.dispatchTouchEvent(event);
}
gallary与listview冲突
最新推荐文章于 2017-04-07 11:31:47 发布