您好我正在实现一个gridView,我无法使每次滚动事件一次向下滚动一行。
我的网格高度为1行项目(项目高度为75dp)。我不希望滚动留在中间的一排。
有没有办法可以拦截和修改滚动距离,这样它只返回固定值ex:+ -75dp。
我将非常感谢您能给我的任何帮助或建议。 TNX
答案 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)