我有一个ScrollView,它有两个隐藏的图像,一个在顶部,一个在底部。在这两者之间有一堆可见的内容。
我需要做的是默认隐藏这些图像,但是当你向上滚动或完全向下滚动时,你可以在滚动时看到它们。但是一旦你停止滚动它就应该反弹回可见区域,这样就不会显示隐藏的图像。
基本上我正试图模仿iphone UIScrollView的反弹滚动功能。
我的ScrollView全部设置,我在开头滚动,以隐藏顶部隐藏的图像。现在我需要做的就是检测滚动何时结束,找出Y位置,并检查是否显示隐藏图像。如果是,我会以编程方式向后滚动视图,以隐藏隐藏的图像。
我希望所有这些都是有道理的。
所以无论如何,我知道如何以编程方式滚动ScrollView。现在我需要的是某种回调告诉我什么时候ScrollView结束滚动,也是一种获取ScrollView当前'Y'位置的方法。我可以使用任何这样的方法吗?
我查看了ScrollView文档,但没有任何内容跳出来。我仍然不太熟悉Android命名方案,所以也许我错过了某些显而易见的地方。
无论如何,任何帮助都会在这里受到赞赏。欢呼声。
答案 0 :(得分:4)
您可以使用OnTouchListener
来检测用户何时按下/释放列表。
您还可以使用onScrollStateChanged
类的OnScrollListener
方法(最有可能与触摸侦听器结合使用)来检测SCROLL_STATE
中的更改 - 当列表停止滚动时州将从不 SCROLL_STATE_IDLE
的状态更改为SCROLL_STATE_IDLE
。
或者,如果您使用的是2.3或更高版本,则可以使用OverScroller
来获得所需效果(有关如何将过度滚动效果更改为iPhone,请参阅Modifying Android OverScroll。)