gallary與listview衝突

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);
  
 }
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章