我遇到的场景是这样的,如下图: 滑动到顶部继续滑动,此时下滑item,整个蓝色区域(CoordinatorLayout)会随着下滑而不是item下滑
判断最顶部的数据是否显示(getTop == 0?),第一个数据不在顶部的话设置父布局不可滑动
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); } @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { //解决RecyclerView和smartRefreshLayout滑动冲突问题 super.onScrolled(recyclerView, dx, dy); int topRowVerticalPosition = (recyclerView.getChildCount() == 0) ? 0 : recyclerView.getChildAt(0).getTop(); smartRefreshLayout.setNestedScrollingEnabled(topRowVerticalPosition >= 0); } });使用替代方案: https://github.com/laenger/ViewPagerBottomSheet
