在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 如何解决dialog弹出时无法捕捉Activity的back事件 在...
Android实现自定义带文字和图片的Button 在Android开发中经常...
Android 关于长按back键退出应用程序的实现最近在做一个Andr...
android自带的时间选择器只能精确到分,但是对于某些应用要求...