Screen:swipe()
Выполняет свайп одним пальцем по экрану. Траектория свайпа задаётся списком значений SwipePoint, через которые палец проходит последовательно.
Сигнатура
Screen:swipe(swipePoints: List<SwipePoint>, params?: SwipeParams): void
Возвращаемое значение
void
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| swipePoints | List<SwipePoint> | Список точек, через которые проходит палец. Минимум 2 точки. |
| params | SwipeParams | Необязательный. Управляет поведением свайпа, например непрерывным режимом и задержкой. |
Поведение SwipePoint
Каждая точка в списке представляет собой SwipePoint(x, y, holdDuration, swipeDuration). Значение зависит от позиции точки:
Первая точка (начальная позиция):
swipeDuration— Начальная задержка в миллисекундах перед опусканием пальцаholdDuration— Как долго удерживать в начальной позиции перед перемещением к следующей точке
Последующие точки (цели перемещения):
swipeDuration— Время в миллисекундах на перемещение от предыдущей точки к этой точкеholdDuration— Как долго удерживать в этой точке после прибытия (пауза перед следующим перемещением)
Последняя точка:
holdDuration— Завершающее удержание в финальной позиции перед поднятием пальца
Примеры
Простой свайп
Screen:swipe({
SwipePoint(500, 1200, 50, 0),
SwipePoint(500, 400, 50, 1000),
})
Палец опускается в (500, 1200) немедленно, удерживается 50ms, затем выполняет свайп вверх до (500, 400) за 1 секунду.
Свайп с начальной задержкой
Screen:swipe({
SwipePoint(300, 800, 50, 2000),
SwipePoint(700, 800, 50, 1500),
})
Ожидает 2 секунды, затем опускается в (300, 800), удерживается 50ms и выполняет свайп вправо до (700, 800) за 1,5 секунды.
Многоточечный свайп с удержанием
Screen:swipe({
SwipePoint(100, 500, 50, 0),
SwipePoint(400, 500, 3000, 1000),
SwipePoint(400, 900, 50, 1000),
})
Временная шкала:
| Время | Действие |
|---|---|
| 0ms | Нажатие в (100, 500) |
| 50ms | Начало перемещения к (400, 500) |
| 1050ms | Прибытие в (400, 500), удержание 3000ms |
| 4050ms | Начало перемещения к (400, 900) |
| 5050ms | Прибытие в (400, 900), удержание 50ms |
| 5100ms | Палец поднимается |
Палец выполняет свайп вправо, задерживается на 3 секунды, затем выполняет свайп вниз.
Непрерывный свайп с SwipeParams
Screen:swipe({
SwipePoint(200, 600, 50, 0),
SwipePoint(500, 300, 50, 2000),
}, SwipeParams():setContinue(true))
Если установлено setContinue(true), палец не поднимается между точками свайпа. Это обеспечивает плавные непрерывные жесты на Android 8.1+ со службой специальных возможностей. В нативной службе свайпы всегда выполняются непрерывно, независимо от этого параметра.
Медленное перетаскивание
Screen:swipe({
SwipePoint(540, 1800, 100, 0),
SwipePoint(540, 600, 50, 5000),
})
Опускается в (540, 1800), удерживается 100ms, затем медленно перетаскивается вверх до (540, 600) за 5 секунд.