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