Главная » Файлы » Delphi » Firemonkey

GestureManager. Свайпы. Жесты
14.09.2014, 14:02
Жесты в приложении - массив точек, который был получен в результате движения одного или более пальцев.
Так как повсеместно используются сенсорные экраны, то для более удобного взаимодействия были придуманы жесты, также их называют свайпами.

Для того чтобы использовать жесты на понадобится компонент TGestureManager(вкладка Dialogs). Компонент не является визуальным, он является подключаемым. 
Подключается компонент к форме, а именно к Touch.GestureManager.


Стандартные виды жестов находятся в Touch.Gestures.Standart.


Каждому значению соответствует число, которое понадобится для пользовательских действий.

Помимо стандартных есть интерактивные, находятся в 
Touch.Gestures.InteractiveGestures.
 
Константы
 
Описание
Кол-во точек касания  
Windows
 
MacOS
 
AOS, iOS
igZoom Увеличение 2 + + +
igPan Прокрутка 1 + + +
igRotate Вращение 2 + + +
igTwoFingerTap Касание двумя пальцами 2 + - +
igPressAndTap Касание+нажатие 2 + - +
igDoubleTap Двойное касание 2 - - +
igLongTap Долгое нажатие   - - +

Все рассмотренные выше константы будут использоваться в процедуре OnGesture
Для того чтобы использовать жесты их обязательно нужно выбрать в списках!

Пример кода для жеста Left:
procedure TForm1.FormGesture(Sender: TObject;
  const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
if EventInfo.GestureID=sgiLeft then ShowMessage('Left');
end;
Результатом, как можно было понять, выведется сообщение "Left".









Файлов проекта не прилагаю, всё необходимое написано выше, осталось правильно воспользоваться.
Категория: Firemonkey | Добавил: TAdm | Теги: Manage, жесты, Touch, gesturemanager, gesture, свайпы, Жест, interactive, standart, свайп
Просмотров: 4664 | Загрузок: 0 | Комментарии: 3 | Рейтинг: 5.0/1
Всего комментариев: 3
avatar
0
1 zvexpert • 14:36, 09.02.2015
Спасибо, а как приблизить (Zoom)? Я установил значение в True - не приближает
avatar
0
2 TAdm • 14:18, 20.02.2015
Здравствуйте, в данном случае придется поработать с параметром Scale объекта, в самой процедуре OnGestrue нужно будет высчитывать некий коэффициент сдвига координат, который будет прибавляться к текущему значению Scale. Достаточно серьезно такой вопрос не рассматривался.
avatar
0
3 schekhovtsov • 17:16, 18.08.2015
Спасибо! Единственная грамотная статья на тематику!)
ComForm">
avatar