问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

RecyclerView的滚动事件OnScrollListener解析

发布网友 发布时间:2022-04-22 15:22

我来回答

1个回答

热心网友 时间:2023-11-10 15:35

列表的滚动一般分为两种:

上面的过程的状态变化如下:

有两种方式可以监听滚动事件:

其中 setOnScrollListener 由于可能出现空指针的风险,已经过时。建议用addOnScrollListener。

OnScrollListener类是个抽象类,有两个方法:

回调的两个变量的含义:
recyclerView: 当前在滚动的RecyclerView
newState: 当前滚动状态.

其中newState有三种值:

回调的三个变量含义:
recyclerView : 当前滚动的view
dx : 水平滚动距离
dy : 垂直滚动距离

dx > 0时为手指向左滚动,列表滚动显示右面的内容
dx < 0 时为手指向右滚动,列表滚动显示左面的内容
dy > 0 时为手指向上滚动,列表滚动显示下面的内容
dy < 0 时为手指向下滚动,列表滚动显示上面的内容

例如:
RecyclerView.canScrollVertically(1)的值表示是否能向下滚动,false表示已经滚动到底部
RecyclerView.canScrollVertically(-1)的值表示是否能向上滚动,false表示已经滚动到顶部

如果 当前
第一个可见item的位置 + 当前可见的item个数 >= item的总个数
这样就可以判断出来,是在底部了。

通过
visibleItemCount + pastVisiblesItems) >= totalItemCount
来判断是否是底部。

通过canScrollVertically 来判断

参考:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
民事公告送达期限是多长时间 有没有能在平板上可以下载生活大爆炸的资源,或播放器离线观看? 生活大爆炸1-8季完整版 115网盘 百度云都可以 谢了 D:\My Documents\My Pictures\d16ea14552a02519cffca397.jpg这个韩国女... 安阳市从三角湖到北晨家园坐几路公交车 安阳北辰家园附近到郑州的物流? 从安阳文化宫到北城家园坐几路公交 让子弹飞现在票房多少了?拿国产第一了吗? 疯狂猜成语第24关 一把刀和一个斧头 前男友要见回前女友,但是他说只是当她是朋友而已,但是有一件事情就 口才练习的五个技巧 当没有更多数据要显示,怎么让上拉显示更多的字眼隐藏 mjtableview下拉分页加载,怎么提示没有更多数据 没有更多数据了? 我的网银怎么没有更多数据了 没有更多数据了是啥意思 我的贷款显示没有更多数据是什么意思 我发了个短信短信上面显示没有更多数据了是什么意思? 我的手机经常出现:没有更多数据或说数据为空怎么办? 纸折飞机怎么折 凉拌苕粉的做法有哪些 家常红薯粉的做法,家常红薯粉怎么做好吃,家常 请问有没有苕粉的制作方法? 求10种经典纸飞机的折法? 农家苕粉块的做法视频 武隆苕粉的做法? 四川苕粉的制作? 苕粉的做法 苕粉是怎样制作的? 微博主页近30天的含文量怎么看 我在百度提过问题以后 为什么在我的提问那没有显示啊 就只有六个 难不成满了? 为什么我回答了不能显示出来,想要再回答也不行,怎么回事????可是我的登录,和回答内容都没有什么 企业养老保险缴费查询怎么个会显示没有更多数据了? 百度知道新版为什么高悬赏下拉就是没有更多数据 为什么可可英语总是提示没有更多数据 用cad画出角度的方法步骤详解 海马玩下载部落冲突显示没有更多数据了是什么意思? 描述以太网帧的结构及各字段的作用 没有大数据项目经验怎么办? 传统以太网的两种MAC帧分别是什么? 关于mac帧和ppp帧的区别 以太网和IEEE802.3之间帧结构有什么区别呀知道的请告诉我答案好吗? 不要复制的 为什么以太网MAC帧格式中数据不能小于46B “高”的拼音是什么? 画出以太网帧结构图,并描述各字段含义 哪位大神跟我分析下以太网帧,数据帧,mac的区别 常用的以太网MAC帧格式有两种标准DIX Ethernet V2标准和_标准。 A. 802.3 B. 802.11 C. 802.2 D. 802.3ab 以太网mac帧格式 以太网数据帧格式是什么? 以太网帧格式有哪几种?