Жесты свайпа
Расширение gesture выполняет действия, когда пользователь делает свайп по элементу вверх, вниз, влево или вправо.
Пример
{
"type": "text",
"text": "Последний свайп: @{last_swipe}",
"extensions": [
{
"id": "gesture",
"params": {
"swipe_left": [
{
"log_id": "swipe_left",
"typed": {
"type": "set_variable",
"variable_name": "last_swipe",
"value": {
"type": "string",
"value": "left"
}
}
}
],
"swipe_right": [
{
"log_id": "swipe_right",
"typed": {
"type": "set_variable",
"variable_name": "last_swipe",
"value": {
"type": "string",
"value": "right"
}
}
}
]
}
}
]
}
В этом примере свайп влево или вправо записывает направление в строковую переменную last_swipe.
Параметры
|
Параметры |
Описание |
|
|
Идентификатор расширения. |
|
|
Массив действий, которые выполняются при свайпе вверх. Необязательный параметр. |
|
|
Массив действий, которые выполняются при свайпе вниз. Необязательный параметр. |
|
|
Массив действий, которые выполняются при свайпе влево. Необязательный параметр. |
|
|
Массив действий, которые выполняются при свайпе вправо. Необязательный параметр. |
Задайте хотя бы один из параметров.
Подключение
build.gradle
dependencies {
implementation "com.yandex.div:div-gesture:${versions.divkit}"
}
В коде:
val gestureExtensionHandler = DivGestureExtensionHandler(
parsingErrorLoggerFactory = object : ParsingErrorLoggerFactory {
override fun create(key: String) = ParsingErrorLogger.LOG
}
)
val divConfiguration = DivConfiguration.Builder(imageLoader)
.extension(gestureExtensionHandler)
.build()
ParsingErrorLoggerFactory создает логгер, который получает ошибки разбора действий из параметра с именем key.
DivKitComponents(
...
extensionHandlers: [
GestureExtensionHandler()
]
)
import { Gesture } from '@divkitframework/divkit/client';
const map = new Map();
map.set('gesture', Gesture);
render({
id: 'test',
target: element,
json: {},
extensions: map
});
Узнать больше
Вы можете обсуждать интересующие вас темы в сообществе пользователей DivKit в Telegram: https://t.me/divkit_community_ru.