SwipeRefreshLayout 嵌套 RecyclerView滑动冲突

原则上你使用的RecyclerView框架可能是自带刷新的,如果没有就可能会出现这种问题,滑动时会出现卡顿、触发刷新的时机也不对。


思路:

监听RecyclerView的滑动,当滑动到顶部的时候,再设置SwipeRefreshLayout刷新可用。


代码

        mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
                //解决mRecyclerView与mSwipeRefreshLayout在部分机型上滑动冲突
                mSwipeRefreshLayout.setEnabled(recyclerView.getChildCount() == 0 || recyclerView.getChildAt(0).getTop() >= 0);
            }
        });

扩展

SwipeRefreshLayout 嵌套ScrollView 滑动冲突

ScrollView嵌套RecyclerView滑动卡顿


发布了246 篇原创文章 · 获赞 441 · 访问量 68万+

猜你喜欢

转载自blog.csdn.net/yechaoa/article/details/95056882
今日推荐