Android Listview замедляет скорость прокрутки

Скорость прокрутки в ListView слишком высока для моего приложения. Мне нужно сильно его замедлить.

Я не могу понять, как это сделать. Единственное, что я мог найти в документации, это функция setFriction, которая поддерживается только в API Level 11, и статический метод getScrollFriction, который не может быть переопределен и не имеет соответствующего установщика.

В чем тут хитрость - как мне контролировать скорость прокрутки?

Благодарю.

2 ответа

Проверено, что это действительно хорошо работает для API >= 11:

listView.setFriction(ViewConfiguration.getScrollFriction() * FRICTION_SCALE_FACTOR)

Обратите внимание, что скорость прокрутки уменьшается с увеличением трения. Чтобы уменьшить импульс прокрутки на подходящую величину, я использовал коэффициент трения 10. YMMV.

Да, нет простого пути. До API 11 трение было жестко закодировано внутри Scrollerи нет простого способа изменить вид прокрутки Scroller, Scroller само по себе довольно просто, но mScroller член в AbsListView является частным, так что вы не можете просто продлить ListView,

Другие вопросы по тегам