解决卡顿的方法最简单的就是设置RecyclerView的android:nestedScrollingEnabled="false",放弃自己的滑动,交给外部的NestedScrollView处理,就没有出现卡顿的现象了
至于RecyclerView的上拉刷新,可以监听NestedScrollView的滑动监听,具体代码如下:
1mNestedScrollView.setOnScrollChangeListener(new NestedScrollView.OnScrollChangeListener() { 2 @Override 3 public void onScrollChange(NestedScrollView v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) { 4 if (scrollY > oldScrollY) { 5 // 向下滑动 6 } 7 8 if (scrollY < oldScrollY) { 9 // 向上滑动 10 } 11 12 if (scrollY == 0) { 13 // 顶部 14 } 15 16 if (scrollY == (v.getChildAt(0).getMeasuredHeight() - v.getMeasuredHeight())) { 17 // 上拉刷新实现 18 } 19 } 20});