RecyclerView 和 NestedScrolling

RecyclerView
http://www.reibang.com/p/9ddfdffee5d3
http://www.reibang.com/p/4b8d6e5004d5
http://www.reibang.com/p/898479f103b6
http://www.reibang.com/p/f7f8814bd09a
http://www.reibang.com/p/6c78a5a07db5

NestedScrolling

http://blog.csdn.net/lmj623565791/article/details/52204039
http://www.race604.com/android-nested-scrolling/

RecyclerView 嵌套使用RecyclerView 并被CoordinatorLayout包裹時(shí)逮走,與SwipeRefreshLayout沖突且滑動(dòng)卡頓鸠蚪,是因?yàn)槭录职l(fā)時(shí)內(nèi)部的RecyclerView的onTouchEvent方法接收到cancel事件今阳,將SwipeRefreshLayout的NestedScrollingChildHelper中mNestedScrollingParent 值置為null师溅,導(dǎo)致nestedScrolling事件無法正確傳遞。

public class RecyclerView extends ViewGroup implements ScrollingView, NestedScrollingChild{
    
      @Override
       public boolean onTouchEvent(MotionEvent e) {
            case MotionEvent.ACTION_CANCEL: {
            cancelTouch();
       }

      private void cancelTouch() {
            resetTouch();
            setScrollState(SCROLL_STATE_IDLE);
      }

       private void resetTouch() {
           if (mVelocityTracker != null) {
               mVelocityTracker.clear();
            }
           stopNestedScroll();
           releaseGlows();
      }

      @Override
      public void stopNestedScroll() {
           getScrollingChildHelper().stopNestedScroll();
      }
}

public class NestedScrollingChildHelper {
     public void stopNestedScroll() {
          if (mNestedScrollingParent != null) {
              ViewParentCompat.onStopNestedScroll(mNestedScrollingParent, mView);
              mNestedScrollingParent = null;
          }
     }
 }

可以自定義內(nèi)部RecyclerView重寫onTouch方法

 public class CustomCancelRecyclerView extends RecyclerView {
      
      @Override
      public boolean onTouchEvent(MotionEvent e) {
            return e.getAction() != MotionEvent.ACTION_CANCEL && super.onTouchEvent(e);
      }
 }

也可以給內(nèi)部RecyclerView設(shè)置onTouchListener

recyclerView.setOnTouchListener(new View.OnTouchListener() {
      @Override
       public boolean onTouch(View v, MotionEvent event) {
             return event.getAction() == MotionEvent.ACTION_CANCEL;
       }
});
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末盾舌,一起剝皮案震驚了整個(gè)濱河市墓臭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌妖谴,老刑警劉巖窿锉,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異膝舅,居然都是意外死亡嗡载,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進(jìn)店門仍稀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洼滚,“玉大人,你說我怎么就攤上這事技潘∫0停” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵享幽,是天一觀的道長铲掐。 經(jīng)常有香客問我,道長值桩,這世上最難降的妖魔是什么摆霉? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮奔坟,結(jié)果婚禮上斯入,老公的妹妹穿的比我還像新娘。我一直安慰自己蛀蜜,他們只是感情好刻两,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著滴某,像睡著了一般磅摹。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上霎奢,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天户誓,我揣著相機(jī)與錄音,去河邊找鬼幕侠。 笑死帝美,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的晤硕。 我是一名探鬼主播悼潭,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼庇忌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了舰褪?” 一聲冷哼從身側(cè)響起皆疹,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎占拍,沒想到半個(gè)月后略就,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡晃酒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年表牢,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贝次。...
    茶點(diǎn)故事閱讀 38,163評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡初茶,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出浊闪,到底是詐尸還是另有隱情恼布,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布搁宾,位于F島的核電站折汞,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏盖腿。R本人自食惡果不足惜爽待,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翩腐。 院中可真熱鬧鸟款,春花似錦、人聲如沸茂卦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽等龙。三九已至处渣,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蛛砰,已是汗流浹背罐栈。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留泥畅,地道東北人荠诬。 一個(gè)月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親柑贞。 傳聞我的和親對象是個(gè)殘疾皇子方椎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容