Всплывающие подсказки (тултипы)
В DivKit нет единого шаблона для всплывающих подсказок, но есть механизм, позволяющий показать любую верстку как всплывающую подсказку.
Посмотреть интерактивный пример
Объявление
Для объявления тултипа у нужного дива необходимо объявить массив tooltips.
id— идентификатор тултипа, нужен для управления им. Обязательное поле.duration— время показа тултипа в мс. Если равно0— будет показываться до вызова экшена закрытия.gravity— положение тултипа относительно вью, внутри которой объявлен.transition_in— анимация, с которой появляется тултип. По умолчанию — сдвиг сверху вниз на 10 dp.transition_out— анимация, с которой скрывается тултип. По умолчанию — сдвиг снизу вверх на 10 dp.div— верстка любого дива, который будет показан в качестве тултипа.offset— сдвиг относительно вью, внутри которой объявлен. Является объектом, внутри которого можно объявитьxиyсдвига и их единицы измерения.close_by_tap_outside— bool значение, позволяющее закрывать тултип при нажатии за его пределами. По умолчаниюtrue.tap_outside_actions— массив действий, выполняемых при нажатии за пределами тултипа.
Пример объекта offset
"offset": {
"x": {
"value": 40,
"unit": "px"
},
"y": {
"value": 40,
"unit": "px"
}
}
Пример тултипа с настройками нажатия за пределами
"tooltips": [{
"id": "example_tooltip",
"div": {
"type": "text",
"text": "Это тултип, который не закроется при нажатии за пределами"
},
"position": "bottom",
"close_by_tap_outside": false,
"tap_outside_actions": [{
"log_id": "tap_outside_tooltip",
"url": "div-action://log?message=Нажатие за пределами тултипа"
}]
}]
Управление
div-action://show_tooltip?id=<tooltip_id>— показ тултипа.div-action://hide_tooltip?id=<tooltip_id>— скрытие тултипа.
Можно вызвать из любого элемента верстки. id — идентификатор тултипа, который вы объявили в верстке.
Узнать больше
Вы можете обсуждать интересующие вас темы в сообществе пользователей DivKit в Telegram: https://t.me/divkit_community_ru.
Была ли статья полезна?
Предыдущая
Следующая