2011-04-08 163 views
21

对于我的应用程序,ListView中的滚动速度太快了。我需要减慢很多。Android Listview减慢滚动速度

我不知道如何做到这一点。我能在文档中找到的唯一东西是仅在API Level 11中支持的“setFriction”函数和不能被覆盖且没有相应setter的静态“getScrollFriction”方法。

这里有什么窍门 - 我该如何控制滚动速度?

谢谢。

回答

11

是的,没有简单的方法。在API 11之前,摩擦在Scroller内被硬编码,并且没有简单的方法来更改滚动视图的ScrollerScroller本身很简单,但mScroller成员AbsListView是私人的,所以你不能只是扩展ListView

13

证实,这个作品真的很好的API> = 11:

listView.setFriction(ViewConfiguration.getScrollFriction() * FRICTION_SCALE_FACTOR) 

注意,滚动速度减小摩擦的增加。为了将滚动动量减少一个合适的量,我最终使用了10.YMMV的摩擦缩放因子。