GridView Прокрутка одной строкой - PullRequest
1 голос
/ 22 января 2011

Привет, я реализую gridView, и у меня возникают проблемы с его прокруткой вниз на 1 строку за раз с каждым событием прокрутки.

моя сетка имеет высоту 1 элемента строки (высота элементов 75dp). Я не хочу, чтобы прокрутка оставалась в середине ряда.

есть ли способ, которым я могу перехватить и изменить расстояние прокрутки, чтобы оно возвращало только фиксированное значение, например: + -75dp.

Буду признателен за любую помощь или предложения, которые вы можете мне дать. Тпй

1 Ответ

2 голосов
/ 22 января 2011

APIv8 имеет новую функцию, которая называется smoothScrollBy (int distance, int duration) [1]

Я думаю, вы должны перехватить все события прокрутки и реализовать собственный метод прокрутки. если вы хотите прокрутить на 75 dp, просто конвертируйте его в пиксели и используйте функцию выше.

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

Но было бы неплохо вычислить scrollBy из вашего GridView, вместо использования некоторого постоянного значения (например, 75dp)

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

...