Как я могу непрерывно прокручивать ListView с постоянной скоростью из кода? - PullRequest
1 голос
/ 16 июля 2011

У меня есть ListView, в котором пользователь может перетаскивать элементы списка, чтобы изменить порядок списка (Android 3.0).Однако мне приходится обрабатывать случай, когда список длинный, и пользователь должен иметь возможность прокручивать его во время перетаскивания элемента.Итак, я поместил две области прокрутки на экран, одну сверху и одну снизу.Когда пользователь перетаскивает элемент на них, ListView должен начать прокручивать вверх / вниз со скоростью констант, пока перетаскиваемый элемент находится в этих областях.

Как мне добиться этой прокрутки с помощью ListView?

Я пробовал методы smoothScroll ... (), но им нужна определенная позиция в списке для прокрутки или определенное расстояние для прокрутки.Стандартные методы scrollBy ... () тоже не работают, они прокручивают ListView, но, по-видимому, не делают недействительными - это правильно, поэтому появляющиеся строки не обрабатываются.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 17 июля 2012

Вы можете попробовать smoothScrollToPositionFromTop(int position, int offset, int duration) с различной продолжительностью в зависимости от положения, где прокручивать, как, скажем,

int duration = position*100;
1 голос
/ 17 июля 2011

Вы можете попробовать listView1.smoothScrollByOffset(int viewPosition). Таким образом, вы можете сделать просмотр списка вверх и вниз с интервалом в 1+ просмотров.

...