最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

LRecyclerView側(cè)滑iOS阻塞效果不完整的解決辦法

 更新時間:2016年12月26日 09:18:16   作者:x343320790  
這篇文章主要介紹了LRecyclerView側(cè)滑iOS阻塞效果不完整的解決辦法,非常不錯,具有參考借鑒價值,需要的朋友參考下

 最近項目中用到下拉刷新與側(cè)滑刪除需要同時實現(xiàn)的情形, 所以對LRecyclerView進(jìn)行了一些了解, 在測試側(cè)滑功能時, 發(fā)現(xiàn)iOS阻塞效果不完整, 即當(dāng)條目處于側(cè)滑狀態(tài)時, 點(diǎn)擊該條目的非側(cè)滑位置時無法自動關(guān)閉, 于是對LRecyclerView項目中的自定義 SwipeMenuView進(jìn)行了分析, 發(fā)現(xiàn)在dispatchTouchEvent的down事件中進(jìn)行了如下的條件判斷:

if (mViewCache != this) { 
   mViewCache.smoothClose(); 
   mViewCache = null; 
   iosInterceptFlag = isIos;//add by 2016 09 11 ,IOS模式開啟的話,且當(dāng)前有側(cè)滑菜單的View,且不是自己的,就該攔截事件咯。 
}

這樣的判斷導(dǎo)致阻塞效果無法在被側(cè)滑的條目上實現(xiàn), 所以我加上了如下的條件判斷:

//如果是自己, 當(dāng)按下的位置在內(nèi)容的范圍, 關(guān)閉側(cè)滑菜單, 否則不攔截 
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時,默認(rèn)是不攔截的 
  if (isTouching) {//如果有別的指頭摸過了,那么就return false。這樣后續(xù)的move..等事件也不會再來找這個View了。 
    return false; 
  } else { 
    isTouching = true;//第一個摸的指頭,趕緊改變標(biāo)志,宣誓主權(quán)。 
  } 
  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模式開啟的話,且當(dāng)前有側(cè)滑菜單的View,且不是自己的,就該攔截事件咯。 
    } else { 
      //如果是自己, 當(dāng)按下的位置在內(nèi)容的范圍, 關(guān)閉側(cè)滑菜單, 否則不攔截 
      if (ev.getRawX() < mScreenW - mRightMenuWidths) { 
        mViewCache.smoothClose(); 
        mViewCache = null; 
        iosInterceptFlag = isIos; 
      } 
    } 
    //只要有一個側(cè)滑菜單處于打開狀態(tài), 就不給外層布局上下滑動了 
    getParent().requestDisallowInterceptTouchEvent(true); 
  } 
  //求第一個觸點(diǎn)的id, 此時可能有多個觸點(diǎn),但至少一個,計算滑動速率用 
  mPointerId = ev.getPointerId(0); 
  break; 

以上所述是小編給大家介紹的LRecyclerView側(cè)滑iOS阻塞效果不完整的解決辦法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評論

荃湾区| 清新县| 吴江市| 静海县| 太谷县| 崇文区| 沙河市| 铅山县| 中阳县| 博白县| 承德县| 开阳县| 南江县| 兴海县| 嘉禾县| 顺昌县| 榆林市| 阿拉善左旗| 天等县| 甘德县| 襄垣县| 柳江县| 满洲里市| 博兴县| 梅河口市| 康马县| 北宁市| 泰兴市| 饶平县| 三穗县| 普洱| 平陆县| 鄂托克前旗| 图木舒克市| 山东省| 仪陇县| 尼玛县| 北川| 苏尼特左旗| 合作市| 镇宁|