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);

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容