在Android中按像素滚动ListView

我想按像素数滚动Android中的ListView.例如,我想将列表向下滚动10个像素(以便列表中的第一个项目隐藏其前10个像素行).

我认为ListView上明显可见的scrollBy或scrollTo方法可以完成这项工作,但是他们没有,而是错误地滚动整个列表(实际上,即使我用手指滚动列表,getScrollY总是返回零.)

我正在做的是我正在捕捉轨迹球事件,我想根据轨迹球的运动平滑地滚动列表视图.

最佳答案
滚动ListView小部件的支持方式是:

mListView.smoothScrollToPosition(位置);

http://developer.android.com/reference/android/widget/AbsListView.html#smoothScrollToPosition(int)

但是,由于您特别提到要垂直偏移视图,因此必须调用:

mListView.setSelectionFromTop(position,yOffset);

http://developer.android.com/reference/android/widget/ListView.html#setSelectionFromTop(int,%20int)

请注意,您还可以使用smoothScrollByOffset(yOffset).但是,它仅在API> = 11上受支持

http://developer.android.com/reference/android/widget/ListView.html#smoothScrollByOffset(int)

转载注明原文:在Android中按像素滚动ListView - 代码日志