RecyclerView滚动相关问题

RecyclerView需要滚动到指定位置,可以使用

mRecyclerView.scrollToPosition(position)

mRecyclerView.smoothScrollToPosition(position)

但默认LinearLayoutManager滚动到指定位置分三种情况,指定item出现在屏幕中,指定item顶部出现在屏幕中,指定item底部出现在屏幕中,此时就需要覆写LinearSmoothScroller的getVerticalSnapPreference方法,返回值可以为LinearSmoothScroller.SNAP_TO_START或LinearSmoothScroller.SNAP_TO_END或LinearSmoothScroller.SNAP_TO_ANY,然后覆写LinearLayoutManager的方法smoothScrollToPosition(RecyclerView recyclerView, RecyclerView.State state, int position)

在该方法中调用

linearSmoothScroller.setTargetPosition(position);

startSmoothScroll(linearSmoothScroller);

即可实现滚动到指定位置并指定方式对齐。

你可能感兴趣的:(RecyclerView滚动相关问题)