2014-10-22 13 views
5

Tôi nhận thấy trong hàm đó không có ngắt sau Action_down, sau đó mã có thể chạy vào ACTION_MOVE, đúng không?Không ngắt trong SwipeRefreshLayout.java trong android 5 onInterceptTouchEvent module

@Override 
public boolean onInterceptTouchEvent(MotionEvent ev) { 
    ensureTarget(); 

    final int action = MotionEventCompat.getActionMasked(ev); 

    if (mReturningToStart && action == MotionEvent.ACTION_DOWN) { 
     mReturningToStart = false; 
    } 

    if (!isEnabled() || mReturningToStart || canChildScrollUp() || mRefreshing) { 
     // Fail fast if we're not in a state where a swipe is possible 
     return false; 
    } 

    switch (action) { 
     case MotionEvent.ACTION_DOWN: 
      setTargetOffsetTopAndBottom(mOriginalOffsetTop - mCircleView.getTop(), true); 
      mActivePointerId = MotionEventCompat.getPointerId(ev, 0); 
      mIsBeingDragged = false; 
      final float initialMotionY = getMotionEventY(ev, mActivePointerId); 
      if (initialMotionY == -1) { 
       return false; 
      } 
      mInitialMotionY = initialMotionY; 
      //-------NO Break here, why? It will run down to ACTION_MOVE 
     case MotionEvent.ACTION_MOVE: 
      if (mActivePointerId == INVALID_POINTER) { 
       Log.e(LOG_TAG, "Got ACTION_MOVE event but don't have an active pointer id."); 
       return false; 
      } 
      final float y = getMotionEventY(ev, mActivePointerId); 
      if (y == -1) { 
       return false; 
      } 
      final float yDiff = y - mInitialMotionY; 
      if (yDiff > mTouchSlop && !mIsBeingDragged) { 
       mIsBeingDragged = true; 
       mProgress.setAlpha(STARTING_PROGRESS_ALPHA); 
      } 
      break; 

     case MotionEventCompat.ACTION_POINTER_UP: 
      onSecondaryPointerUp(ev); 
      break; 

     case MotionEvent.ACTION_UP: 
     case MotionEvent.ACTION_CANCEL: 
      mIsBeingDragged = false; 
      mActivePointerId = INVALID_POINTER; 
      break; 
    } 

    return mIsBeingDragged; 
} 

Tôi không biết tại sao điều trị ACTION_DOWN sau đó trực tiếp để điều trị ACTION_MOVE, Điều này có đúng không? cảm ơn trước.

+0

Chỉ nhận thấy điều này trong nhật ký của tôi hôm nay, vị trí tốt. Cảm ơn. –

Trả lời

Các vấn đề liên quan