美文网首页
RecyclerView滚动到指定位置

RecyclerView滚动到指定位置

作者: 电梯里漫舞 | 来源:发表于2024-03-21 15:29 被阅读0次

首先定义一个滚动辅助类

 LinearSmoothScroller linearSmoothScroller = new LinearSmoothScroller(_mActivity) {
                    @Override
                    protected float calculateSpeedPerPixel(DisplayMetrics displayMetrics) {
                        return super.calculateSpeedPerPixel(displayMetrics);
                    }

                    @Override
                    protected int getHorizontalSnapPreference() {
                        return LinearSmoothScroller.SNAP_TO_START;
                    }

                    @Override
                    protected int getVerticalSnapPreference() {
                        return LinearSmoothScroller.SNAP_TO_START;
                    }
                };

在RecyclerView设置LayoutManager时复写方法

mRvBloodBags.setLayoutManager(new LinearLayoutManager(_mActivity) {
            @Override
            public void smoothScrollToPosition(RecyclerView recyclerView, RecyclerView.State state, int position) {
                linearSmoothScroller.setTargetPosition(position);
                startSmoothScroll(linearSmoothScroller);
            }
        });

在需要滚动的地方调用方法

        mRvBloodBags.smoothScrollToPosition(pos);

相关文章

网友评论

      本文标题:RecyclerView滚动到指定位置

      本文链接:https://www.haomeiwen.com/subject/rcnftjtx.html