检测scrollView滚动的时间

Mat*_*att 5 android scrollview

我正在尝试检测ScrollView何时完成滚动,以便稍微修改其位置.在我使用ACTION_UP检测用户何时举起手指之前,我意识到这不允许我使用"投掷",因为它会在完成之前修改滚动.

有没有办法检测ScrollView何时完成滚动?或者像ListView一样检测它的滚动状态?

关于如何实现这个的任何其他想法?

谢谢.

Jou*_*arc 1

我将通过创建 ScrollView 的子类(例如 MyScrollView)并使用它来代替 ScrollView 来解决此问题。

这样你就可以重写 ScrollView 滚动时调用的方法;并在其中添加某种形式的回调(不要忘记调用相应的方法super

我无法真正告诉您 ScrollView 的哪些方法将在何时被调用;我假设每次发生 scoll 时都会调用其中一个,但哪一个......也许只是简单的scrollTo()

我认为覆盖它们并在它们被调用时进行记录将是一次非常有趣和学习的经历。我可能想自己这样做,如果我这样做,我一定会得到一个更有用的答案,假设在那段时间没有其他人这样做。

  • 只需重写 onScrollChanged() 即可。 (4认同)