Я пишу что-то для телефона с сенсорным экраном. Я бы хотел, чтобы программа запускала указанную функцию, когда пользователь нажимает на экран. Я хочу прокрутить экран, когда пользователь проводит пальцем вверх или вниз по экрану.
ОС имеет три соответствующие функции обратного вызова (1) обнаружение касания экрана, (2) обнаружение перетаскивания пальца по экрану и (3) обнаружение, когда палец покидает экран. В каждом случае функция обратного вызова получает экранные координаты, где произошло соответствующее событие.
Проблема в том, что перетаскивание начинается с прикосновения пальца к экрану и заканчивается, когда палец покидает экран. Постукивание обычно определяется как касание, очень короткое перетаскивание и конец касания. Если я просто вызову указанную функцию одним касанием, я вызову события перетаскивания на экране, а не подлинные касания.
Лучшее, что я могу придумать, это отметить время или место, когда пользователь впервые касается. Если мы находимся в функции обратного вызова перетаскивания через некоторое время или на некоторое время позже, относимся к ней как к свитку В противном случае, если был обратный вызов с экрана, обработайте его как нажатие. Проблемы включают в себя затраты на то, чтобы отметить время, решить, сколько времени или расстояния использовать в качестве триггера, и если есть лучший общий подход.
Мое приложение на python для устройства symbian. Поскольку это не очень популярная платформа, мы будем благодарны за любые предложения по наилучшему способу реализации.