Бесконечные горизонтальные прокрутки ведут себя как колесо - PullRequest
2 голосов
/ 18 января 2012

Кто-нибудь знает способ создания прокрутки, что при достижении конца следующий элемент будет первым?Internet Explorer будет больше похож на колесо.

У меня есть горизонтальная прокрутка, обертывающая линейный макет, заполненный фотографиями, и, конечно, я могу прокручивать от начала до конца и обратно, но кто-нибудь знает способпозволить прокрутке бесконечно двигаться в любом направлении и никогда не достигать конца?

1 Ответ

1 голос
/ 18 января 2012

Используйте ListView вместо ScrollView. Затем вы можете сохранить свою коллекцию элементов в массиве. Вам придется создать свой собственный адаптер, который возвращает (n% size) -й элемент для индекса n.

Вам также необходимо добавить OnScrollListener в ваш ListView, который проверяет, видны ли первый и / или последний элементы в списке. Если это так, вы захотите «увеличить» размер вашего адаптера, увеличив возвращаемый размер (а не внутренний размер) на исходный размер.

Возможной проблемой, с которой вы можете столкнуться, является поддержание правильной позиции прокрутки в ListView после роста адаптера. Возможно, вам придется проверить положение первого видимого элемента перед изменением размера адаптера, а затем прокрутить до этой же позиции.

Имейте в виду, что непрерывная прокрутка будет занимать все больше и больше памяти, пока ваш макет не будет отвечать.

...