LRRecyclerView 측면 미끄럼 iOS 차단 효과 불완전 해결 방법

최근 프로젝트 에 서 는 드 롭 다운 리 셋 과 사 이 드 스 케 이 트 삭제 가 동시에 이 루어 져 야 하 는 상황 을 사용 하여 LRRecyclerView 에 대해 알 아 보 았 습 니 다.사 이 드 스 케 이 트 기능 을 테스트 할 때 iOS 차단 효과 가 완전 하지 않 은 것 을 발 견 했 습 니 다.즉,항목 이 사 이 드 스 케 이 트 상태 에 있 을 때 이 항목 의 사 이 드 스 케 이 트 위 치 를 클릭 하면 자동 으로 닫 히 지 않 아 LRRecyclerView 프로젝트 의 사용자 정의 SwipeMenuView 를 분 석 했 습 니 다.dispatchTouchEvent 의 down 이벤트 에서 다음 과 같은 조건 으로 판단 한 것 을 발 견 했 습 니 다.

if (mViewCache != this) { 
   mViewCache.smoothClose(); 
   mViewCache = null; 
   iosInterceptFlag = isIos;//add by 2016 09 11 ,IOS      ,         View,      ,       。 
}
이러한 판단 으로 인해 차단 효 과 는 옆으로 미 끄 러 지 는 항목 에서 이 루어 지지 못 하기 때문에 저 는 다음 과 같은 조건 으로 판단 합 니 다.

//     ,             ,       ,       
if (ev.getRawX() < mScreenW - mRightMenuWidths) { 
   mViewCache.smoothClose(); 
   mViewCache = null; 
   iosInterceptFlag = isIos; 
} 
마지막 으로 SwipeMenuView 의 완전한 dispatchTouchEvent 의 down 사건 은 다음 과 같 습 니 다.

case MotionEvent.ACTION_DOWN: 
  iosInterceptFlag = false;//add by 2016 09 11 ,  DOWN ,        
  if (isTouching) {//          ,   return false。     move..           View 。 
    return false; 
  } else { 
    isTouching = true;//       ,      ,    。 
  } 
  mLastP.set(ev.getRawX(), ev.getRawY()); 
  //  down,view cacheview   ,       。     null 
  if (mViewCache != null) { 
    if (mViewCache != this) { 
      mViewCache.smoothClose(); 
      mViewCache = null; 
      iosInterceptFlag = isIos;//add by 2016 09 11 ,IOS      ,         View,      ,       。 
    } else { 
      //     ,             ,       ,       
      if (ev.getRawX() < mScreenW - mRightMenuWidths) { 
        mViewCache.smoothClose(); 
        mViewCache = null; 
        iosInterceptFlag = isIos; 
      } 
    } 
    //               ,              
    getParent().requestDisallowInterceptTouchEvent(true); 
  } 
  //       id,          ,     ,        
  mPointerId = ev.getPointerId(0); 
  break; 
위 에서 말 한 것 은 편집장 님 께 서 소개 해 주신 리 시 클 러 뷰 사 이 드 스 케 이 트 iOS 차단 효과 가 불완전 하 다 는 해결 방법 입 니 다.여러분 께 도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 댓 글로 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기