【发布时间】:2019-03-30 00:43:45
【问题描述】:
例如,假设我们有一个滚动条,用于在某些应用程序上显示/操作数据。滚动条也有最小值、最大值和可见量。但是根据滚动条值显示的值的范围有点令人困惑。
作为一个例子,这里是一张图片
和
但它是根据滚动条拇指的不同边来计算的。
假设我需要显示数据库中的一些数据,最小值将是 min id,最大值也将是 max id。并考虑我想显示 100 个项目,我将在滚动条中将可见数量设置为 100。滚动时如果scoolbar 的值等于1,从数据库中获取范围就像将100(可见量)加1 一样简单,但是当值等于max 时,这将不起作用。所以这就是为什么我需要获取滚动条拇指的值范围,但是在查看滚动条源代码时我找不到这个功能的实现。
如何获取滚动条的拇指或可见值范围的最小值和最大值?
【问题讨论】:
-
visibleAmount 是拇指的长度,滚动条的值大概是拇指的中间,所以可以计算开始/结束位置
-
如果该值为拇指的中间,那么当该值为1时,拇指的起始位置将小于零。
-
我的意思是如何获取滚动条的可见值范围。
-
oops ... 很好,刚刚查看了 ScrollBarSkin 的来源,它将拇指宽度映射到 visibleAmount。然后你需要做额外的数学,只要值 width - amount/2)