美文网首页
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