Я пишу приложение, которое включает в себя запись на экране одним пальцем или, в конце концов, стилусом. У меня есть эта работа. В ACTION_DOWN начинается рисование; на ACTION_MOVE, добавляет сегменты линии; на ACTION_UP, завершает линию.
Проблема заключается в том, что после ACTION_DOWN, по-видимому, указатель должен перемещаться более чем на 10 пикселей от того места, где он был запущен (в основном, поле 20x20 вокруг начальной точки), чтобы начать отправлять события ACTION_MOVE. После выхода из коробки события перемещения все довольно точны. (Я выяснил 10-пиксельную вещь, протестировав ее.) Поскольку это предназначено для записи или рисования, 10 пикселей - довольно значительная потеря: в зависимости от того, насколько малы вы пытаетесь написать, вы можете потерять первую букву или два. Я ничего не смог найти - только пару сообщений на форуме или два, например http://android.modaco.com/topic/339694-touch-input -задача-не-обнаруживать-очень-малых движений /page _pid_1701028 # entry1701028. Кажется, что он присутствует на некоторых устройствах или системах, а не на других. Нет никаких идей относительно того, как избавиться от него, когда у вас есть это.
Я использую Galaxy Tab 10.1, с Android 3.1. Я попробовал несколько разных вещей, чтобы попытаться избавиться от него: я пробовал установить козыри событий на что-то еще, чтобы увидеть, могу ли я обмануть его, думая, что курсор находится в другом месте; Я попробовал перераспределить событие с измененными координатами (мой обработчик отреагировал на новые точки, но все же не ответил на движения в радиусе 10 пикселей). Я искал исходный код для любых ссылок на эффект, и не нашел никого (хотя я думаю, что это из другой версии Android-кода для 3.1 еще не выпущено, не так ли?) Я искал методы запроса текущего состояния указателей, поэтому я мог бы просто иметь таймер уловить изменения до тех пор, пока указатель не пересечет порог. Не удалось найти способ получить указательные координаты без соответствующего события движения. Ничего не получилось. Кто-нибудь знает что-нибудь об этом или имеет какие-то идеи или проблемы? Спасибо.
- Обновление: события перетаскивания показывают один и тот же порог.