Перейти к основному содержимому

Screen:multiSwipe()

Выполняет свайп по экрану одновременно до 10 пальцами. Каждый палец работает по собственной независимой временной шкале — опускается, перемещается, удерживается и поднимается согласно своим параметрам.

Сигнатура

Screen:multiSwipe(fingers: List<List<SwipePoint>>): void

Возвращаемое значение

void


Совместимая версия: 1.0.0.26 и выше

Параметры

ПараметрТипОписание
fingersList<List<SwipePoint>>Список траекторий пальцев. Каждая траектория — это список значений SwipePoint. Минимум 2 точки на палец. Максимум 10 пальцев.

Поведение SwipePoint в multiSwipe

Каждая траектория пальца представляет собой список SwipePoint(x, y, holdDuration, swipeDuration). Значение каждого параметра зависит от позиции точки в списке:

Первая точка (начальная позиция):

  • swipeDuration — Начальная задержка в миллисекундах перед опусканием пальца
  • holdDuration — Как долго удерживать в начальной позиции перед перемещением

Последующие точки (цели перемещения):

  • swipeDuration — Время в миллисекундах на перемещение от предыдущей точки к этой точке
  • holdDuration — Как долго удерживать в этой точке после прибытия

Последняя точка:

  • holdDuration — Завершающее удержание в финальной позиции перед поднятием пальца
к сведению

Все пальцы поднимаются одновременно после завершения действий самого долгого пальца.

Примеры

Свайп вверх двумя пальцами

Screen:multiSwipe({
{
SwipePoint(500, 800, 50, 0),
SwipePoint(500, 400, 50, 1000),
},
{
SwipePoint(600, 800, 50, 0),
SwipePoint(600, 400, 50, 1000),
},
})

Оба пальца выполняют свайп вверх одновременно за 1 секунду.

Сведение для масштабирования (pinch to zoom)

Screen:multiSwipe({
{
SwipePoint(400, 600, 50, 0),
SwipePoint(200, 400, 50, 1500),
},
{
SwipePoint(600, 600, 50, 0),
SwipePoint(800, 800, 50, 1500),
},
})

Два пальца расходятся от центра за 1,5 секунды.

Стаггертированный старт с удержанием

Screen:multiSwipe({
{
SwipePoint(935, 1533, 50, 2000),
SwipePoint(658, 1234, 5000, 2000),
SwipePoint(207, 1372, 50, 2000),
},
{
SwipePoint(794, 1714, 50, 3000),
SwipePoint(240, 1489, 50, 2000),
SwipePoint(694, 1170, 50, 2000),
},
})

Временная шкала:

ВремяПалец 1Палец 2
0msОжидание (2000ms)Ожидание (3000ms)
2000msНажатие в (935, 1533)Ожидание...
2050msПеремещение к (658, 1234)Ожидание...
3000msПеремещение...Нажатие в (794, 1714)
3050msПеремещение...Перемещение к (240, 1489)
4050msПрибытие, удержание 5000msПеремещение...
5050msУдержание...Прибытие, удержание 50ms
5100msУдержание...Перемещение к (694, 1170)
7100msУдержание...Прибытие, удержание 50ms
9050msПеремещение к (207, 1372)Ожидание...
11050msПрибытие, удержание 50msОжидание...
11100msВсе пальцы поднимаются одновременно

Ограничения

  • Максимум 10 пальцев
  • Каждый палец должен иметь не менее 2 значений SwipePoint
  • Общая длительность жеста не должна превышать примерно 60 секунд
  • swipeDuration, равный 0, для первой точки приравнивается к 1ms (фактически мгновенно)