GridView滚动一行

时间:2011-01-22 13:02:36

标签: android gridview custom-scrolling

您好我正在实现一个gridView,我无法使每次滚动事件一次向下滚动一行。

我的网格高度为1行项目(项目高度为75dp)。我不希望滚动留在中间的一排。

有没有办法可以拦截和修改滚动距离,这样它只返回固定值ex:+ -75dp。

我将非常感谢您能给我的任何帮助或建议。 TNX

1 个答案:

答案 0 :(得分:2)

APIv8有新功能,名为smoothScrollBy(int distance,int duration)[1]

我认为你应该抓住所有滚动事件&实现自己的方法来滚动视图。 如果你想滚动75dp,只需将它转换为像素&使用上面的功能。

float density = getContext().getResources().getDisplayMetrics().density;
int scrollBy = (int)(density * 75);
smoothScrollBy(scrollBy, 0);

但是从GridView计算scrollBy会很好,而不是使用一些常量值(如75dp)

[1]:http://developer.android.com/reference/android/widget/AbsListView.html#smoothScrollBy(int,int)