Есть ScrollView, в ней элементы. Есть некоторый указатель в интерфейсе, который "показывает" выбранное значение в листе. Нужно сделать, чтобы по окончанию пролистывания пользователем, лист выравнивался так, чтобы ближайшее к указателю значение становилось напротив него.
Само движение можно реализовать через scrollTo(), и координату посчитать тоже не проблема. Не очень понятно, когда это вызывать. Есть свойства onMomentumScrollEnd и onScrollDragEnd (у него через velocity можно узнать, остановилось ли движение в момент, когда убрали палец). Но если просто запихать туда метод с выравниванием, то при скроллах с несколькими касаниями возникают аномалии, и скролл может быть не к ожидаемому объекту. Может есть другой нормальный способ, а я пишу кривой велосипед?