确定何时显示 recyclerview 快速滚动拇指?

Posted

技术标签:

【中文标题】确定何时显示 recyclerview 快速滚动拇指?【英文标题】:Determine when to show recyclerview fast scroller thumb? 【发布时间】:2022-01-08 22:16:25 【问题描述】:

我在我的应用程序中为 recyclerview 添加了一个自定义快速滚动条。但问题是,即使 recyclerview 的内容非常少,快速滚动条也会继续显示。任何人都可以以任何方式建议我,首先检查 recyclerview 是否可滚动。此外,我需要在自定义视图本身内部而不是在调用它的任何活动/片段中进行检查。 注意:我已经尝试在我的自定义视图的 onlayout 或 onsizechanged 方法中获取 recyclerview 的 adapter.Itemcount 或 recyclerview.computeverticalscrollrange 但最初两者都返回 0。 谢谢

【问题讨论】:

【参考方案1】:

为什么初始返回值为0会出现问题?每次更改recyclerview的内容时重新评估是否应该启用快速滚动器

【讨论】:

这就是我想知道的?我应该评估哪个覆盖?因为每次我滚动时都会调用 onlayout 并且 onsizechanged 仅在初始化时间被调用,这会返回 0。 假设您知道视图模型中的项目数,向视图模型添加一个函数,返回是否显示拇指。在片段中使用这个函数来决定是显示还是隐藏拇指 我知道我们可以使用活动/片段中可用的数据来控制拇指的可见性,但正如我在问题中所说,我想在我的自定义快速滚动视图中处理这种情况。我需要这个的原因是,因为我将在很多页面中使用这个视图。所以我不想浪费时间检查每一个被调用的类中的数据。

以上是关于确定何时显示 recyclerview 快速滚动拇指?的主要内容,如果未能解决你的问题,请参考以下文章

嵌套滚动视图内的 Recyclerview 滚动,但不像普通 Recyclerview 或嵌套滚动视图那样快速滚动

嵌套滚动视图中的 RecyclerView 最初加载缓慢

RecyclerView 和 Firebase Storage 快速滚动 ExoPlayer 异常

UICollectionView:如何检测滚动何时停止

如何知道何时显示布局中的特定视图在RecyclerView中

带有折叠工具栏的 RecyclerView 中的 Android 字母快速滚动视图