国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

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

2019-10-21 18:49:29
字體:
來源:轉載
供稿:網友

 最近項目中用到下拉刷新與側滑刪除需要同時實現的情形, 所以對LRecyclerView進行了一些了解, 在測試側滑功能時, 發現iOS阻塞效果不完整, 即當條目處于側滑狀態時, 點擊該條目的非側滑位置時無法自動關閉, 于是對LRecyclerView項目中的自定義 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; 

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


注:相關教程知識閱讀請移步到IOS開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 曲靖市| 浦北县| 石首市| 出国| 全州县| 池州市| 江安县| 崇文区| 宜宾县| 贡觉县| 弋阳县| 和林格尔县| 政和县| 苏尼特右旗| 容城县| 越西县| 焦作市| 晋州市| 呼和浩特市| 茂名市| 达日县| 安泽县| 广水市| 黔江区| 湖北省| 内江市| 弥勒县| 光泽县| 西乌珠穆沁旗| 鹤壁市| 霍山县| 西青区| 洛阳市| 四子王旗| 班玛县| 铜山县| 容城县| 深水埗区| 梨树县| 旬阳县| 剑川县|