2011-01-22 48 views
1

嗨,我正在实施一个GridView,并且我无法使其每次滚动事件一次向下滚动一行。GridView滚动一行

我的网格有1行项目的高度(项目高度是75dp)。我不想滚动在一排中间。

有没有一种方法可以截取和修改滚动距离,以便它只返回固定值ex:+ -75dp。

我将不胜感激任何帮助或建议,你可以给我。 TNX

回答

2

APIv8具有新的功能,称为smoothScrollBy(INT距离,INT持续时间)[1]

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

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

但将是不错的,从你的GridView计算,而不是使用一些常量的值(如75dp)scrollBy,

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

+0

你们,但我对API的使用7. – DArkO 2011-01-24 04:02:59