(1)computeVerticalScrollOffset():
已经向下滚动的距离,为0时表示已处于顶部。
(2)computeVerticalScrollRange():
整体的高度,注意是整体,包括在显示区域之外的。
(3)computeVerticalScrollExtent():
显示区域的高度。
图示如下:
对比图示很容易知道:
当Offset大于0时,可以继续下拉,当Offset等于0时,不可以。
当Range大于Offset加上Extent时,可以继续上拉,当Range等于Offset加上Extent时,不可以。
(可以看到上面判断上拉时多减了一个1,是因为计算过程中有些float和int的转换,多减个1是为了保险起见,最多也就是吃掉view一个像素的高度而已
本文详细解释了滚动视图中的三个关键方法:computeVerticalScrollOffset()用于获取已向下滚动的距离;computeVerticalScrollRange()用于获取整体高度,包括不可见部分;computeVerticalScrollExtent()则返回当前显示区域的高度。通过这些方法,可以有效地判断滚动视图是否还能继续上拉或下拉。

被折叠的 条评论
为什么被折叠?



