Я использую basi c RecyclerView с пользовательским менеджером линейного макета.
class HorizontalTopLayoutManager(
context: Context
) : LinearLayoutManager(context, HORIZONTAL, false) {
override fun smoothScrollToPosition(
recyclerView: RecyclerView,
state: RecyclerView.State?,
position: Int
) {
val smoothScroller = TopSnappedSmoothScroller(recyclerView.context)
smoothScroller.targetPosition = position
startSmoothScroll(smoothScroller)
}
private inner class TopSnappedSmoothScroller(context: Context) : LinearSmoothScroller(context) {
override fun computeScrollVectorForPosition(targetPosition: Int): PointF? {
return this@HorizontalTopLayoutManager.computeScrollVectorForPosition(
targetPosition
)
}
override fun getHorizontalSnapPreference(): Int {
return SNAP_TO_START
}
}
}
Можно ли вручную разрешить / отключить вызов метода onScrolled при вызове smoothScrollToPosition?