当前位置: 首页 > 知识库问答 >
问题:

如何禁用RecyclerView滚动?

魏威
2023-03-14

如何禁用滚动?

共有1个答案

鲁明知
2023-03-14

您应该为此重写recycleview的layoutmanager。这样,它将只禁用滚动,而不是其他功能。您仍然能够处理单击或任何其他触摸事件。例如:-

 public class CustomGridLayoutManager extends LinearLayoutManager {
 private boolean isScrollEnabled = true;

 public CustomGridLayoutManager(Context context) {
  super(context);
 }

 public void setScrollEnabled(boolean flag) {
  this.isScrollEnabled = flag;
 }

 @Override
 public boolean canScrollVertically() {
  //Similarly you can customize "canScrollHorizontally()" for managing horizontal scroll
  return isScrollEnabled && super.canScrollVertically();
 }
}

在这里,使用“isScrollenabled”标志,您可以暂时启用/禁用循环视图的滚动功能。

简单地重写现有的实现以禁用滚动并允许单击。

 linearLayoutManager = new LinearLayoutManager(context) {
 @Override
 public boolean canScrollVertically() {
  return false;
 }
};
:LinearLayoutManager(this){ override fun canScrollVertically(): Boolean { return false } }
 类似资料:
  • 问题内容: 我使用的是scrollTo jQuery插件,想知道是否可以通过Java临时禁用window元素上的滚动吗?我要禁用滚动的原因是,当您在scrollTo设置动画时滚动时,它确实很难看;) 当然,我可以做一个,然后在动画停止时将其放回自动状态,但是如果滚动条仍然可见但处于非活动状态会更好。 问题答案: 该事件无法取消。但是您可以通过 取消 以下交互事件来实现: 鼠标 和 触摸滚动 以及与

  • 问题内容: 我有一个包含大量内容的HTML,并且在加载HTML后就会出现一个垂直滚动条。现在,从此HTML中加载了全屏IFRAME。问题是当加载IFRAME时,父滚动条仍然存在,我想在加载Iframe时禁用滚动条。 我试过了: ,它不适用于FF和chrome。 之后,我仍然可以滚动,整个iframe会向上滚动以显示父HTML。 我的要求是,在加载IFRAME时,如果父HTML具有滚动条,则我们永远

  • 我正在做一个项目,在这个项目中,我必须调用recyclerview的scolling事件的api来从服务器获取一组新的问题列表。 请引导我,我会感谢你的。

  • 问题内容: 我实现了使用,并且需要在期间禁用适配器项。 我尝试了以下方法,但是单击通常会发生: 问题答案: 使用我们处理过的逻辑。这将禁用适配器项,而不是其父项。 实现应如下所示: 用法:

  • 如何在recyclerview中滚动到具有偏移量的特定位置? 我用过 我也曾经 此外,我使用了skrolltopoplace 但似乎没有一个适合我。 如果有人知道这件事,你能帮我吗 使现代化 功能,其中我设置适配器的我的回收站