gpt4 book ai didi

android - 如何检测 recyclerview 的滚动超出范围?

转载 作者:行者123 更新时间:2023-11-29 23:05:39 25 4
gpt4 key购买 nike

有没有办法检测到用户正在尝试滚动 recyclerview 而实际滚动没有发生?例如,垂直回收 View 位于其顶部位置,用户尝试将其向上滚动。

最佳答案

是的,您可以使用回收器 View 的 onScroll 函数检测滚动行为。

 recyclerView
.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView,
int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);

lastVisibleItem = linearLayoutManager
.findLastVisibleItemPosition();
if (!loading
&& totalItemCount <= (lastVisibleItem + visibleThreshold)) {
// Do something

}
}
});
}

正如您在上面看到的,(linearLayoutManager.findLastVisibleItemPosition();) 为您提供了最后一个可见位置,一旦用户尝试滚动回收器 View ,它往往会更改最后一个可见位置。

甚至 dx 也给你 int: The amount of horizo​​ntal scroll 和 dy (int) 给你 amount of vertical scroll 。如果布局计算后可见项目范围发生变化,也会调用此回调。在这种情况下,dx 和 dy 将为 0。

关于android - 如何检测 recyclerview 的滚动超出范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56593527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com