Я пишу компонент, который отслеживает действия пользователя по нему. Я могу создать onTouch
слушателя, я получаю все события. Это сработало бы нормально, если бы я хотел отслеживать только отдельные движения.
Я хочу добиться эффекта "движущегося объекта". Итак, если пользователь коснулся экрана и переместил палец на 20 единиц вправо за 2 секунды, я не хочу, чтобы отдельные движения на 20 единиц были правильными, но я хочу, чтобы это движение продолжалось, замедляясь. Итак, в следующие 2 секунды я хотел бы получить еще одно движение, скажем, на 10 единиц.
Пользователь также должен иметь возможность остановить это движение, т.е. снова коснувшись моего компонента.
Я знаю, что есть много "сборщиков чисел", имеющих подобное поведение. Пользователь может проводить пальцем по такому средству выбора, и числа начинают меняться так же быстро, как пользователь проводил пальцем, а затем все медленнее и медленнее. Проблема с такими сборщиками заключается в том, что я не могу легко извлечь только это поведение, и они довольно сложны.
С чего начать? Что-то делается или мне самому все писать?
Моей единственной идеей было создать какой-нибудь таймер для такого компонента. Прикосновения пользователя изменяют скорость (начинают/останавливают движение и изменяют скорость), а таймер вычисляет движение и уменьшает скорость (с учетом прошедшего времени).
Если это правильное решение, как создать такой таймер для приложения Android?