RecycleView4种定位滚动方式演示

2018-10-20 20:44:03

概述

相信大家在项目中使用RecyclerView时,经常会遇到这样的需求:
将RecyclerView滑动到指定位置,或者检索RecyclerView的某一项(各个项的高度不确定),然后定位滚动这到一项,将它显示。

下面就讲解4种RecyclerView定位滚动的方式及具体效果演示。

scrollBy

recyclerView.scrollBy(x, y)

使用:recyclerView.scrollBy(x, y)

scrollBy(x, y)这个方法是自己去控制移动的距离,单位是像素,所以在使用scrollBy(x, y)需要自己去计算移动的高度或宽度。

scrollToPosition

recyclerView.scrollToPosition(position)

使用: recyclerView.scrollToPosition(position)

scrollToPosition(position)这个方法的作用是定位到指定项,就是把你想显示的项显示出来,但是在屏幕的什么位置是不管的,只要那一项现在看得到了,那它就罢工了!

smoothScrollToPosition

recyclerView.smoothScrollToPosition(position)

使用: recyclerView.smoothScrollToPosition(position)

smoothScrollToPosition(position)scrollToPosition(position)效果基本相似,也是把你想显示的项显示出来,只要那一项现在看得到了,那它就罢工了,不同的是smoothScrollToPosition是平滑到你想显示的项,而scrollToPosition是直接定位显示!

scrollToPositionWithOffset

scrollToPositionWithOffset(position,0)

使用: ((LinearLayoutManager)recyclerView.getLayoutManager()).scrollToPositionWithOffset(position,0);

主角总是最后才登场,这种方式是定位到指定项如果该项可以置顶就将其置顶显示。比如:微信联系人的字母索引定位就是采用这种方式实现。

资源下载

apk下载

Github

其他资料

Android RecyclerView滚动定位

RecyclerView调用smoothScrollToPosition() 控制滑动速度

RecyclerView使用技巧-自动滚动

如何获取 RecyclerView 的滑动距离?

RecyclerView滚动到指定位置



作者:不开车的擎天柱
链接:https://www.jianshu.com/p/3acc395ae933
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 2018-06-19 16:39:03

    java缩放图片、java裁剪图片代码工具类

    在系统的上传图片功能中,我们无法控制用户上传图片的大小,用户可能会上传大到几十M小到1k的的图片,一方面图片太大占据了太多的空间,另一方面,我们没办法在页面上显示统一大小的图片。所以我们需要对用户上传的图片进行缩放和裁剪,这里的缩放和平常的压缩不是一个意思,因为要实现小的图片会放大,大的图片会缩小,而且是等比例变的,图片不会显示挤压的效果。而这种操作Java完全可以实现。下面分享下java缩放、裁剪图片的工具类。

  • 2018-07-02 11:58:18

    探究Laravel使用env函数读取环境变量为null的问题

    最近在工作中遇到一个问题,不知道大家有没有遇到过,在 Laravel中(除 app/config 目录下的配置文件中)使用env函数读取环境变量,有时有用,有时返回 null,这究竟怎么回事?下面通过这篇文章让我们一探究竟。有需要的朋友们下面来一起看看吧。