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
,