android – 如果无法滚动,如何禁用RecyclerView上的过度滚动效果?

前端之家收集整理的这篇文章主要介绍了android – 如果无法滚动,如何禁用RecyclerView上的过度滚动效果?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
背景

有时,recyclelerView的所有项目都已对用户可见.

在这种情况下,用户看到过度滚动效果并不重要,因为实际滚动和查看更多项目是不可能的.

问题

我知道为了在RecyclerView上禁用过度滚动效果,我可以使用:

recyclerView.setOverScrollMode(View.OVER_SCROLL_NEVER);

但无论如何都无法滚动,我无法找到何时触发此功能.

这个问题

如何确定所有项目完全可见并且用户无法真正滚动?

如果它有助于假设任何东西,我总是使用LinearLayoutManager(垂直和水平)为RecyclerView.

解决方法

你可以尝试OVER_SCROLL_IF_CONTENT_SCROLLS.根据文件

Allow a user to over-scroll this view only if the content is large
enough to meaningfully scroll,provided it is a view that can scroll.

或者您可以检查是否有足够的项目来触发滚动并启用/禁用过滚动模式,具体取决于它.例如

boolean notAllVisible = layoutManager.findLastCompletelyVisibleItemPosition() < adapter.getItemCount() - 1;
if (notAllVisible) {
   recyclerView.setOverScrollMode(allVisible ? View.OVER_SCROLL_NEVER);
}
原文链接:https://www.f2er.com/android/316312.html

猜你在找的Android相关文章