Android:在ScrollView完成滚动和弹回后检测?

时间:2010-09-17 20:54:43

标签: android scrollview bounce

我有一个ScrollView,它有两个隐藏的图像,一个在顶部,一个在底部。在这两者之间有一堆可见的内容。

我需要做的是默认隐藏这些图像,但是当你向上滚动或完全向下滚动时,你可以在滚动时看到它们。但是一旦你停止滚动它就应该反弹回可见区域,这样就不会显示隐藏的图像。

基本上我正试图模仿iphone UIScrollView的反弹滚动功能。

我的ScrollView全部设置,我在开头滚动,以隐藏顶部隐藏的图像。现在我需要做的就是检测滚动何时结束,找出Y位置,并检查是否显示隐藏图像。如果是,我会以编程方式向后滚动视图,以隐藏隐藏的图像。

我希望所有这些都是有道理的。

所以无论如何,我知道如何以编程方式滚动ScrollView。现在我需要的是某种回调告诉我什么时候ScrollView结束滚动,也是一种获取ScrollView当前'Y'位置的方法。我可以使用任何这样的方法吗?

我查看了ScrollView文档,但没有任何内容跳出来。我仍然不太熟悉Android命名方案,所以也许我错过了某些显而易见的地方。

无论如何,任何帮助都会在这里受到赞赏。欢呼声。

1 个答案:

答案 0 :(得分:4)

您可以使用OnTouchListener来检测用户何时按下/释放列表。

您还可以使用onScrollStateChanged类的OnScrollListener方法(最有可能与触摸侦听器结合使用)来检测SCROLL_STATE中的更改 - 当列表停止滚动时州将从 SCROLL_STATE_IDLE的状态更改为SCROLL_STATE_IDLE

或者,如果您使用的是2.3或更高版本,则可以使用OverScroller来获得所需效果(有关如何将过度滚动效果更改为iPhone,请参阅Modifying Android OverScroll。)

相关问题