在原始的Gingerbread版本中,超出滚动范围时会显示橙色“闪光”。然而,发布说明和一些API文档似乎表明支持iPhone风格的overshoot overscroll行为。例如,请参见此处。但是,如何让这些方法起作用并不清楚。仅仅使用这些方法设置可绘制对象并不能改变其行为。是否有人知道如何做到这一点?
我最近写了几篇关于这个的博客文章。看一下吧!
https://jasonfry.co.uk/blog/android-overscroll-what/
https://jasonfry.co.uk/blog/android-overscroll-revisited/
从那时起,我就有了一个想法:当你覆盖overScrollBy方法时,我猜你可以将其中一个参数减半,以使视图在overscroll时不跟随手指移动,而只是跟随一半的距离。
我没有亲身经历,但在 AbsListView 下,有一个叫做 setOverScrollMode()
的方法可能会有所帮助。除此之外,我还发现了 OverScroller
类。这似乎更符合你的需求;至于实现细节,我无法提供太多帮助。
ScrollView
返回到原始位置,无论它是否已经超过滚动范围。 - Fenix Voltres