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

首頁 > 系統 > iOS > 正文

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

2020-07-26 03:00:37
字體:
來源:轉載
供稿:網友

 最近項目中用到下拉刷新與側滑刪除需要同時實現的情形, 所以對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阻塞效果不完整的解決辦法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平果县| 临沧市| 建昌县| 项城市| 大埔县| 武乡县| 秦皇岛市| 卓资县| 巨鹿县| 保靖县| 合阳县| 壶关县| 阿克陶县| 大冶市| 牡丹江市| 仙游县| 本溪市| 宜阳县| 雷山县| 中方县| 闽清县| 鲁甸县| 克什克腾旗| 新郑市| 上饶市| 南郑县| 锡林浩特市| 萝北县| 菏泽市| 金寨县| 天柱县| 子洲县| 绩溪县| 临泉县| 兰溪市| 石柱| 长丰县| 大悟县| 奎屯市| 舒城县| 全椒县|