Карта
Интерфейс карты, отображаемый в сообщении Google Chat или надстройке Google Workspace.
Карты поддерживают определенный макет, интерактивные элементы пользовательского интерфейса, такие как кнопки, и мультимедийные средства, такие как изображения. Используйте карточки, чтобы представить подробную информацию, собрать информацию от пользователей и помочь им сделать следующий шаг.
Создавайте и просматривайте карты с помощью Card Builder.
Откройте конструктор карточекЧтобы узнать, как создавать карты, см. следующую документацию:
- О приложениях Google Chat см. раздел Разработка компонентов карточки или диалогового окна .
- Информацию о надстройках Google Workspace см. в разделе Интерфейсы на основе карт .
Пример: карточное сообщение для приложения Google Chat.
Чтобы создать образец сообщения-карточки в Google Chat, используйте следующий JSON:
{
"cardsV2": [
{
"cardId": "unique-card-id",
"card": {
"header": {
"title": "Sasha",
"subtitle": "Software Engineer",
"imageUrl":
"https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png",
"imageType": "CIRCLE",
"imageAltText": "Avatar for Sasha"
},
"sections": [
{
"header": "Contact Info",
"collapsible": true,
"uncollapsibleWidgetsCount": 1,
"widgets": [
{
"decoratedText": {
"startIcon": {
"knownIcon": "EMAIL"
},
"text": "sasha@example.com"
}
},
{
"decoratedText": {
"startIcon": {
"knownIcon": "PERSON"
},
"text": "<font color=\"#80e27e\">Online</font>"
}
},
{
"decoratedText": {
"startIcon": {
"knownIcon": "PHONE"
},
"text": "+1 (555) 555-1234"
}
},
{
"buttonList": {
"buttons": [
{
"text": "Share",
"onClick": {
"openLink": {
"url": "https://example.com/share"
}
}
},
{
"text": "Edit",
"onClick": {
"action": {
"function": "goToView",
"parameters": [
{
"key": "viewType",
"value": "EDIT"
}
]
}
}
}
]
}
}
]
}
]
}
}
]
}
JSON-представление |
---|
{ "header": { object ( |
Поля | |
---|---|
header | Заголовок карты. Заголовок обычно содержит ведущее изображение и заголовок. Заголовки всегда отображаются вверху карточки. |
sections[] | Содержит коллекцию виджетов. Каждый раздел имеет свой собственный необязательный заголовок. Разделы визуально разделены разделителем. Пример использования приложений Google Chat см. в разделе «Определение раздела карточки» . |
sectionDividerStyle | Стиль разделителя между разделами. |
cardActions[] | Действия карты. Действия добавляются в меню панели инструментов карточки. Доступно для дополнений Google Workspace и недоступно для приложений Google Chat. Например, следующий JSON создает меню действий карты с параметрами
|
name | Название карты. Используется в качестве идентификатора карты при карточной навигации. Доступно для дополнений Google Workspace и недоступно для приложений Google Chat. |
fixedFooter | Фиксированный нижний колонтитул, показанный внизу этой карточки. Установка Доступно для приложений Google Chat и дополнений Google Workspace. |
displayStyle | В надстройках Google Workspace задает свойства отображения Доступно для дополнений Google Workspace и недоступно для приложений Google Chat. |
peekCardHeader | При отображении контекстного контента заголовок карточки просмотра действует как заполнитель, позволяя пользователю перемещаться между карточками главной страницы и контекстными карточками. Доступно для дополнений Google Workspace и недоступно для приложений Google Chat. |
Заголовок карты
Представляет заголовок карты. Пример использования приложений Google Chat см. в разделе Добавление заголовка .
Доступно для приложений Google Chat и дополнений Google Workspace.
JSON-представление |
---|
{
"title": string,
"subtitle": string,
"imageType": enum ( |
Поля | |
---|---|
title | Необходимый. Название шапки карты. Заголовок имеет фиксированную высоту: если указаны и заголовок, и подзаголовок, каждый занимает одну строку. Если указан только заголовок, он занимает обе строки. |
subtitle | Подзаголовок шапки карты. Если указано, отображается на отдельной строке под |
imageType | Форма, используемая для обрезки изображения. Доступно для приложений Google Chat и дополнений Google Workspace. |
imageUrl | URL-адрес HTTPS изображения в заголовке карточки. |
imageAltText | Альтернативный текст этого изображения, используемый для специальных возможностей. |
Тип изображения
Форма, используемая для обрезки изображения.
Доступно для приложений Google Chat и дополнений Google Workspace.
Перечисления | |
---|---|
SQUARE | Значение по умолчанию. Применяет к изображению квадратную маску. Например, изображение 4x3 становится 3x3. |
CIRCLE | Применяет к изображению круговую маску. Например, изображение 4x3 становится кругом диаметром 3. |
Раздел
Раздел содержит коллекцию виджетов, которые отображаются вертикально в указанном порядке.
Доступно для приложений Google Chat и дополнений Google Workspace.
JSON-представление |
---|
{ "header": string, "widgets": [ { object ( |
Поля | |
---|---|
header | Текст, который отображается вверху раздела. Поддерживает простой текст в формате HTML. Дополнительную информацию о форматировании текста см. в разделах «Форматирование текста в приложениях Google Chat» и «Форматирование текста в надстройках Google Workspace» . |
widgets[] | Все виджеты в разделе. Должен содержать хотя бы один виджет. |
collapsible | Указывает, является ли этот раздел сворачиваемым. Сворачиваемые разделы скрывают некоторые или все виджеты, но пользователи могут развернуть раздел, чтобы отобразить скрытые виджеты, нажав «Показать больше» . Пользователи могут снова скрыть виджеты, нажав «Показать меньше» . Чтобы определить, какие виджеты скрыты, укажите |
uncollapsibleWidgetsCount | Количество несворачиваемых виджетов, которые остаются видимыми, даже если раздел свернут. Например, если раздел содержит пять виджетов и для |
collapseControl | Необязательный. Определите кнопку развертывания и свертывания раздела. Эта кнопка будет отображаться только в том случае, если раздел сворачивается. Если это поле не задано, используется кнопка по умолчанию. Доступно для приложений Google Chat и недоступно для дополнений Google Workspace. |
Виджет
Каждая карточка состоит из виджетов.
Виджет — это составной объект, который может представлять один из типов текста, изображений, кнопок и других типов объектов.
JSON-представление |
---|
{ "horizontalAlignment": enum ( |
Поля | |
---|---|
horizontalAlignment | Указывает, выравниваются ли виджеты по левому, правому или центру столбца. |
data поля объединения. Виджет может иметь только один из следующих элементов. Вы можете использовать несколько полей виджетов для отображения большего количества элементов. data могут быть только одним из следующих: | |
textParagraph | Отображает текстовый абзац. Поддерживает простой текст в формате HTML. Дополнительную информацию о форматировании текста см. в разделах «Форматирование текста в приложениях Google Chat» и «Форматирование текста в надстройках Google Workspace» . Например, следующий JSON создает жирный текст:
|
image | Отображает изображение. Например, следующий JSON создает изображение с альтернативным текстом:
|
decoratedText | Отображает декорированный текстовый элемент. Например, следующий JSON создает декорированный текстовый виджет, показывающий адрес электронной почты:
|
buttonList | Список кнопок. Например, следующий JSON создает две кнопки. Первая — синяя текстовая кнопка, а вторая — кнопка с изображением, которая открывает ссылку:
|
textInput | Отображает текстовое поле, в которое пользователи могут вводить текст. Например, следующий JSON создает текстовый ввод для адреса электронной почты:
Другой пример: следующий JSON создает текстовый ввод для языка программирования со статическими предложениями:
|
selectionInput | Отображает элемент управления выбором, который позволяет пользователям выбирать элементы. Элементами управления выбором могут быть флажки, переключатели, переключатели или раскрывающиеся меню. Например, следующий JSON создает раскрывающееся меню, позволяющее пользователям выбирать размер:
|
dateTimePicker | Отображает виджет, который позволяет пользователям вводить дату, время или дату и время. Например, следующий JSON создает средство выбора даты и времени для планирования встречи:
|
divider | Отображает горизонтальный разделитель между виджетами. Например, следующий JSON создает разделитель:
|
grid | Отображает сетку с коллекцией элементов. Сетка поддерживает любое количество столбцов и элементов. Количество строк определяется верхней границей числа элементов, деленной на количество столбцов. Сетка с 10 элементами и 2 столбцами имеет 5 строк. Сетка с 11 элементами и 2 столбцами имеет 6 строк. Доступно для приложений Google Chat и дополнений Google Workspace. Например, следующий JSON создает сетку из двух столбцов с одним элементом:
|
columns | Отображает до 2 столбцов. Чтобы включить более двух столбцов или использовать строки, используйте виджет Например, следующий JSON создает 2 столбца, каждый из которых содержит текстовые абзацы:
|
chipList | Список фишек. Например, следующий JSON создает два чипа. Первый — это текстовый чип, а второй — значок, открывающий ссылку:
Доступно для приложений Google Chat и недоступно для дополнений Google Workspace. |
ТекстАбзац
Абзац текста, поддерживающий форматирование. Пример использования приложений Google Chat см. в разделе Добавление абзаца форматированного текста . Дополнительную информацию о форматировании текста см. в разделах «Форматирование текста в приложениях Google Chat» и «Форматирование текста в надстройках Google Workspace» .
Доступно для приложений Google Chat и дополнений Google Workspace.
JSON-представление |
---|
{ "text": string, "maxLines": integer } |
Поля | |
---|---|
text | Текст, отображаемый в виджете. |
maxLines | Максимальное количество строк текста, отображаемых в виджете. Если текст превышает указанное максимальное количество строк, лишнее содержимое скрывается за кнопкой «Показать больше» . Если текст равен или короче указанного максимального количества строк, кнопка «Показать больше» не отображается. Значение по умолчанию — 0, и в этом случае отображается весь контекст. Отрицательные значения игнорируются. Доступно для приложений Google Chat и недоступно для дополнений Google Workspace. |
Изображение
Изображение, заданное URL-адресом и может иметь действие onClick
. Пример см. в разделе «Добавление изображения» .
Доступно для приложений Google Chat и дополнений Google Workspace.
JSON-представление |
---|
{
"imageUrl": string,
"onClick": {
object ( |
Поля | |
---|---|
imageUrl | URL-адрес HTTPS, на котором размещено изображение. Например:
|
onClick | Когда пользователь щелкает изображение, щелчок запускает это действие. |
altText | Альтернативный текст этого изображения, используемый для специальных возможностей. |
OnClick
Представляет, как реагировать, когда пользователи нажимают интерактивный элемент на карточке, например кнопку.
Доступно для приложений Google Chat и дополнений Google Workspace.
JSON-представление |
---|
{ // Union field |
Поля | |
---|---|
| |
action | Если указано, действие запускается этим |
openLink | Если указано, этот |
openDynamicLinkAction | Надстройка запускает это действие, когда действию необходимо открыть ссылку. Это отличается от описанного выше Доступно для дополнений Google Workspace и недоступно для приложений Google Chat. |
card | Новая карта помещается в стопку карточек после щелчка, если это указано. Доступно для дополнений Google Workspace и недоступно для приложений Google Chat. |
overflowMenu | Если указано, этот |
Действие
Действие, описывающее поведение при отправке формы. Например, вы можете вызвать сценарий Apps Script для обработки формы. Если действие срабатывает, значения формы отправляются на сервер.
Доступно для приложений Google Chat и дополнений Google Workspace.
JSON-представление |
---|
{ "function": string, "parameters": [ { object ( |
Поля | |
---|---|
function | Пользовательская функция, вызываемая при щелчке по содержащему элементу или его активации иным образом. Пример использования см. в разделе Чтение данных формы . |
parameters[] | Список параметров действия. |
loadIndicator | Указывает индикатор загрузки, который отображается при вызове действия. |
persistValues | Указывает, сохраняются ли значения формы после действия. Значение по умолчанию — Если Если |
interaction | Необязательный. Требуется при открытии диалога . Что делать в ответ на взаимодействие с пользователем, например, когда пользователь нажимает кнопку в сообщении с карточкой. Если не указано, приложение отвечает, выполняя Указав Доступно для приложений Google Chat и недоступно для дополнений Google Workspace. |
requiredWidgets[] | Если перечисленные здесь виджеты не имеют значения при вызове этого действия, отправка формы прерывается. Доступно для приложений Google Chat и дополнений Google Workspace. |
allWidgetsAreRequired | Доступно для приложений Google Chat и дополнений Google Workspace. |
Параметр действия
Список строковых параметров, которые необходимо указать при вызове метода действия. Например, рассмотрим три кнопки повтора: отложить сейчас, отложить один день или отложить на следующей неделе. Вы можете использовать action method = snooze()
, передав тип и время повтора в списке строковых параметров.
Дополнительные сведения см. в CommonEventObject
.
Доступно для приложений Google Chat и дополнений Google Workspace.
JSON-представление |
---|
{ "key": string, "value": string } |
Поля | |
---|---|
key | Имя параметра сценария действия. |
value | Значение параметра. |
Индикатор нагрузки
Указывает индикатор загрузки, который отображается при вызове действия.
Доступно для приложений Google Chat и дополнений Google Workspace.
Перечисления | |
---|---|
SPINNER | Отображает счетчик, указывающий на загрузку содержимого. |
NONE | Ничего не отображается. |
Взаимодействие
Необязательный. Требуется при открытии диалога .
Что делать в ответ на взаимодействие с пользователем, например, когда пользователь нажимает кнопку в сообщении с карточкой.
Если не указано, приложение отвечает, выполняя action
, например открытие ссылки или запуск функции, как обычно.
Указав interaction
, приложение может реагировать особым интерактивным способом. Например, установив для interaction
значение OPEN_DIALOG
, приложение сможет открыть диалоговое окно .
Если указано, индикатор загрузки не отображается. Если указано для надстройки, вся карта удаляется и в клиенте ничего не отображается.
Доступно для приложений Google Chat и недоступно для дополнений Google Workspace.
Перечисления | |
---|---|
INTERACTION_UNSPECIFIED | Значение по умолчанию. action выполняется как обычно. |
OPEN_DIALOG | Открывает диалоговое окно — оконный интерфейс на основе карточек, который приложения чата используют для взаимодействия с пользователями. Поддерживается только приложениями чата в ответ на нажатие кнопок в карточных сообщениях. Если указано для надстройки, вся карта удаляется и в клиенте ничего не отображается. Доступно для приложений Google Chat и недоступно для дополнений Google Workspace. |
ОпенЛинк
Представляет событие onClick
, открывающее гиперссылку.
Доступно для приложений Google Chat и дополнений Google Workspace.
JSON-представление |
---|
{ "url": string, "openAs": enum ( |
Поля | |
---|---|
url | URL-адрес для открытия. |
openAs | Как открыть ссылку. Доступно для дополнений Google Workspace и недоступно для приложений Google Chat. |
onClose | Забывает ли клиент о ссылке после ее открытия или наблюдает за ней до закрытия окна. Доступно для дополнений Google Workspace и недоступно для приложений Google Chat. |
ОпенАс
Когда действие OnClick
открывает ссылку, клиент может открыть ее либо как полноразмерное окно (если это фрейм, используемый клиентом), либо как наложение (например, всплывающее окно). Реализация зависит от возможностей клиентской платформы, и выбранное значение может быть проигнорировано, если клиент его не поддерживает. FULL_SIZE
поддерживается всеми клиентами.
Доступно для дополнений Google Workspace и недоступно для приложений Google Chat.
Перечисления | |
---|---|
FULL_SIZE | Ссылка открывается в полноразмерном окне (если клиент использует именно этот фрейм). |
OVERLAY | Ссылка открывается в виде наложения, например всплывающего окна. |
При Закрытии
Что делает клиент, когда ссылка, открытая действием OnClick
закрывается.
Реализация зависит от возможностей клиентской платформы. Например, веб-браузер может открыть ссылку во всплывающем окне с обработчиком OnClose
.
Если установлены оба обработчика OnOpen
и OnClose
, а клиентская платформа не может поддерживать оба значения, OnClose
имеет приоритет.
Доступно для дополнений Google Workspace и недоступно для приложений Google Chat.
Перечисления | |
---|---|
NOTHING | Значение по умолчанию. Карта не перезагружается; ничего не происходит. |
RELOAD | Перезагружает карту после закрытия дочернего окна. При использовании в сочетании с |
ПереполнениеМеню
Виджет, представляющий всплывающее меню с одним или несколькими действиями, которые могут вызывать пользователи. Например, отображение неосновных действий на карточке. Вы можете использовать этот виджет, когда действия не помещаются в доступное пространство. Для использования укажите этот виджет в действии OnClick
виджетов, которые его поддерживают. Например, в Button
.
Доступно для приложений Google Chat и недоступно для дополнений Google Workspace.
JSON-представление |
---|
{
"items": [
{
object ( |
Поля | |
---|---|
items[] | Необходимый. Список опций меню. |
ПереполнениеМенюЭлемент
Доступно для приложений Google Chat и недоступно для дополнений Google Workspace.
JSON-представление |
---|
{ "startIcon": { object ( |
Поля | |
---|---|
startIcon | Значок отображается перед текстом. |
text | Необходимый. Текст, который идентифицирует или описывает элемент для пользователей. |
onClick | Необходимый. Действие, вызываемое при выборе пункта меню. Этот |
disabled | Отключена ли опция меню. По умолчанию ложь. |
Икона
Значок, отображаемый в виджете на карточке. Пример использования приложений Google Chat см. в разделе Добавление значка .
Поддерживает встроенные и пользовательские значки.
Доступно для приложений Google Chat и дополнений Google Workspace.
JSON-представление |
---|
{ "altText": string, "imageType": enum ( |
Поля | |
---|---|
altText | Необязательный. Описание значка, используемого для специальных возможностей. Если не указано, предоставляется значение Если значок установлен в |
imageType | К изображению применен стиль обрезки. В некоторых случаях применение обрезки |
icons полей Союза. Значок, отображаемый в виджете на карте. icons могут быть только одним из следующих: | |
knownIcon | Отобразите один из встроенных значков Google Workspace. Например, чтобы отобразить значок самолета, укажите Полный список поддерживаемых значков см. в разделе «Встроенные значки» . |
iconUrl | Отображение пользовательского значка, размещенного по URL-адресу HTTPS. Например:
Поддерживаемые типы файлов: |
materialIcon | Отобразите один из значков материалов Google . Например, чтобы отобразить значок флажка , используйте
Доступно для приложений Google Chat и недоступно для дополнений Google Workspace. |
МатериалИконка
Значок Google Material , включающий более 2500+ вариантов.
Например, чтобы отобразить значок флажка с настроенным весом и оценкой, напишите следующее:
{
"name": "check_box",
"fill": true,
"weight": 300,
"grade": -25
}
Доступно для приложений Google Chat и недоступно для дополнений Google Workspace.
JSON-представление |
---|
{ "name": string, "fill": boolean, "weight": integer, "grade": integer } |
Поля | |
---|---|
name | Имя значка, определенное в Google Material Icon , например, |
fill | Будет ли значок отображаться заполненным. Значение по умолчанию — ложь. Чтобы просмотреть различные настройки значков, перейдите в раздел «Значки шрифтов Google» и настройте параметры в разделе «Настройка» . |
weight | Толщина штриха значка. Выберите из {100, 200, 300, 400, 500, 600, 700}. Если оно отсутствует, значение по умолчанию — 400. Если указано любое другое значение, используется значение по умолчанию. Чтобы просмотреть различные настройки значков, перейдите в раздел «Значки шрифтов Google» и настройте параметры в разделе «Настроить» . |
grade | Вес и класс влияют на толщину символа. Корректировки класса являются более детальными, чем корректировки веса, и оказывают небольшое влияние на размер символа. Выберите из {-25, 0, 200}. Если оно отсутствует, значение по умолчанию равно 0. Если указано любое другое значение, используется значение по умолчанию. Чтобы просмотреть различные настройки значков, перейдите в раздел «Значки шрифтов Google» и настройте параметры в разделе «Настройка» . |
УкрашенныйТекст
Виджет, отображающий текст с дополнительными украшениями, такими как метка над или под текстом, значок перед текстом, виджет выбора или кнопка после текста. Пример использования приложений Google Chat см. в разделе Отображение текста с декоративным текстом .
Доступно для приложений Google Chat и дополнений Google Workspace.
JSON-представление |
---|
{ "icon": { object ( |
Поля | |
---|---|
icon | Устарело в пользу |
startIcon | Значок отображается перед текстом. |
topLabel | Текст, который появляется над |
text | Необходимый. Первичный текст. Поддерживает простое форматирование. Дополнительную информацию о форматировании текста см. в разделах «Форматирование текста в приложениях Google Chat» и «Форматирование текста в надстройках Google Workspace» . |
wrapText | Настройка переноса текста. Если Применяется только к |
bottomLabel | Текст, который отображается под |
onClick | Это действие запускается, когда пользователи нажимают |
Полевой control Союза. Кнопка, переключатель, флажок или изображение, которое отображается справа от текста в виджете decoratedText . control может быть только одним из следующих: | |
button | Кнопка, которую пользователь может нажать, чтобы вызвать действие. |
switchControl | Виджет переключения, по которому пользователь может щелкнуть, чтобы изменить его состояние и вызвать действие. |
endIcon | Значок, отображаемый после текста. Поддерживает встроенные и пользовательские значки. |
Кнопка
Текст, значок или кнопка с текстом и значком, которую пользователи могут нажать. Пример использования приложений Google Chat см. в разделе « Добавление кнопки» .
Чтобы сделать изображение интерактивной кнопкой, укажите
(а не Image
) и установите действие ImageComponent
onClick
.
Доступно для приложений Google Chat и дополнений Google Workspace.
JSON-представление |
---|
{ "text": string, "icon": { object ( |
Поля | |
---|---|
text | Текст, отображаемый внутри кнопки. |
icon | Значок, отображаемый внутри кнопки. Если установлены и |
color | Необязательный. Цвет кнопки. Если этот параметр установлен, Чтобы задать цвет кнопки, укажите значение для полей Например, следующий код устанавливает красный цвет с максимальной интенсивностью:
Поле |
onClick | Необходимый. Действие, которое необходимо выполнить, когда пользователь нажимает кнопку, например открытие гиперссылки или запуск пользовательской функции. |
disabled | Если |
altText | Альтернативный текст, используемый для специальных возможностей. Установите описательный текст, который позволит пользователям узнать, что делает кнопка. Например, если кнопка открывает гиперссылку, вы можете написать: «Открывает новую вкладку браузера и переходит к документации для разработчиков Google Chat по адресу https://developers.google.com/workspace/chat» . |
type | Необязательный. Тип кнопки. Если этот параметр не установлен, тип кнопки по умолчанию — Доступно для приложений Google Chat и недоступно для дополнений Google Workspace. |
Цвет
Представляет цвет в цветовом пространстве RGBA. Это представление предназначено для простоты преобразования в цветовые представления на разных языках и обратно, а не для компактности. Например, поля этого представления можно тривиально передать конструктору java.awt.Color
в Java; его также можно тривиально передать методу +colorWithRed:green:blue:alpha
UIColor в iOS; и, приложив немного усилий, его можно легко отформатировать в строку CSS rgba()
в JavaScript.
На этой справочной странице нет информации об абсолютном цветовом пространстве, которое следует использовать для интерпретации значения RGB, например sRGB, Adobe RGB, DCI-P3 и BT.2020. По умолчанию приложения должны использовать цветовое пространство sRGB.
Когда необходимо определить равенство цветов, реализации, если не указано иное, рассматривают два цвета как равные, если все их значения красного, зеленого, синего и альфа отличаются не более чем на 1e-5
.
Пример (Java):
import com.google.type.Color;
// ...
public static java.awt.Color fromProto(Color protocolor) {
float alpha = protocolor.hasAlpha()
? protocolor.getAlpha().getValue()
: 1.0;
return new java.awt.Color(
protocolor.getRed(),
protocolor.getGreen(),
protocolor.getBlue(),
alpha);
}
public static Color toProto(java.awt.Color color) {
float red = (float) color.getRed();
float green = (float) color.getGreen();
float blue = (float) color.getBlue();
float denominator = 255.0;
Color.Builder resultBuilder =
Color
.newBuilder()
.setRed(red / denominator)
.setGreen(green / denominator)
.setBlue(blue / denominator);
int alpha = color.getAlpha();
if (alpha != 255) {
result.setAlpha(
FloatValue
.newBuilder()
.setValue(((float) alpha) / denominator)
.build());
}
return resultBuilder.build();
}
// ...
Пример (iOS/Obj-C):
// ...
static UIColor* fromProto(Color* protocolor) {
float red = [protocolor red];
float green = [protocolor green];
float blue = [protocolor blue];
FloatValue* alpha_wrapper = [protocolor alpha];
float alpha = 1.0;
if (alpha_wrapper != nil) {
alpha = [alpha_wrapper value];
}
return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
}
static Color* toProto(UIColor* color) {
CGFloat red, green, blue, alpha;
if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
return nil;
}
Color* result = [[Color alloc] init];
[result setRed:red];
[result setGreen:green];
[result setBlue:blue];
if (alpha <= 0.9999) {
[result setAlpha:floatWrapperWithValue(alpha)];
}
[result autorelease];
return result;
}
// ...
Пример (JavaScript):
// ...
var protoToCssColor = function(rgb_color) {
var redFrac = rgb_color.red || 0.0;
var greenFrac = rgb_color.green || 0.0;
var blueFrac = rgb_color.blue || 0.0;
var red = Math.floor(redFrac * 255);
var green = Math.floor(greenFrac * 255);
var blue = Math.floor(blueFrac * 255);
if (!('alpha' in rgb_color)) {
return rgbToCssColor(red, green, blue);
}
var alphaFrac = rgb_color.alpha.value || 0.0;
var rgbParams = [red, green, blue].join(',');
return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};
var rgbToCssColor = function(red, green, blue) {
var rgbNumber = new Number((red << 16) | (green << 8) | blue);
var hexString = rgbNumber.toString(16);
var missingZeros = 6 - hexString.length;
var resultBuilder = ['#'];
for (var i = 0; i < missingZeros; i++) {
resultBuilder.push('0');
}
resultBuilder.push(hexString);
return resultBuilder.join('');
};
// ...
JSON-представление |
---|
{ "red": number, "green": number, "blue": number, "alpha": number } |
Поля | |
---|---|
red | Количество красного цвета в цвете как значение в интервале [0, 1]. |
green | Количество зеленого цвета в цвете как значение в интервале [0, 1]. |
blue | Количество синего цвета в цвете как значение в интервале [0, 1]. |
alpha | Доля этого цвета, которая должна быть применена к пикселю. То есть конечный цвет пикселя определяется уравнением: Это означает, что значение 1,0 соответствует сплошному цвету, тогда как значение 0,0 соответствует полностью прозрачному цвету. При этом используется сообщение-оболочка, а не простой скаляр с плавающей запятой, чтобы можно было отличить значение по умолчанию от значения, которое не установлено. Если этот параметр опущен, этот цветовой объект отображается как сплошной цвет (как если бы значению альфа было явно присвоено значение 1,0). |
Тип
Необязательный. Тип кнопки. Если поле color
установлено, type
принудительно устанавливается FILLED
.
Доступно для приложений Google Chat и недоступно для дополнений Google Workspace.
Перечисления | |
---|---|
TYPE_UNSPECIFIED | Не используйте. Не указано. |
OUTLINED | Кнопки с контуром — это кнопки со средним выделением. Обычно они содержат важные действия, но не являются основным действием в приложении Chat или надстройке. |
FILLED | Заполненная кнопка имеет контейнер сплошного цвета. Он имеет наибольший визуальный эффект и рекомендуется для важных и основных действий в приложении чата или надстройке. |
FILLED_TONAL | Заполненная тональная кнопка — это альтернативный вариант между заполненными и обведенными кнопками. Они полезны в контекстах, где кнопка с более низким приоритетом требует немного большего внимания, чем кнопка с контуром. |
BORDERLESS | Кнопка не имеет невидимого контейнера в состоянии по умолчанию. Его часто используют для действий с самым низким приоритетом, особенно при представлении нескольких вариантов. |
SwitchControl
Либо переключатель в стиле тумблера, либо флажок внутри виджета decoratedText
.
Доступно для приложений Google Chat и дополнений Google Workspace.
Поддерживается только в виджете decoratedText
.
JSON-представление |
---|
{ "name": string, "value": string, "selected": boolean, "onChangeAction": { object ( |
Поля | |
---|---|
name | Имя, по которому виджет переключения идентифицируется в событии ввода формы. Подробные сведения о работе с входными данными формы см. в разделе Получение данных формы . |
value | Значение, введенное пользователем и возвращаемое как часть события ввода формы. Подробные сведения о работе с входными данными формы см. в разделе Получение данных формы . |
selected | Если |
onChangeAction | Действие, которое необходимо выполнить при изменении состояния переключателя, например, какую функцию запускать. |
controlType | Как переключатель отображается в пользовательском интерфейсе. Доступно для приложений Google Chat и дополнений Google Workspace. |
Тип управления
Как переключатель отображается в пользовательском интерфейсе.
Доступно для приложений Google Chat и дополнений Google Workspace.
Перечисления | |
---|---|
SWITCH | Тумблерный переключатель. |
CHECKBOX | Устарело в пользу CHECK_BOX . |
CHECK_BOX | Флажок. |
Список кнопок
Список кнопок, расположенных горизонтально. Пример использования приложений Google Chat см. в разделе « Добавление кнопки» .
Доступно для приложений Google Chat и дополнений Google Workspace.
JSON-представление |
---|
{
"buttons": [
{
object ( |
Поля | |
---|---|
buttons[] | Массив кнопок. |
Текстовый ввод
Поле, в котором пользователи могут вводить текст. Поддерживает предложения и действия при изменении. Пример использования приложений Google Chat см. в разделе Добавление поля, в котором пользователь может вводить текст .
Приложения чата получают и могут обрабатывать значение введенного текста во время событий ввода формы. Подробные сведения о работе с входными данными формы см. в разделе Получение данных формы .
Если вам нужно собрать неопределенные или абстрактные данные от пользователей, используйте текстовый ввод. Чтобы собрать определенные или перечисляемые данные от пользователей, используйте виджет SelectionInput
.
Доступно для приложений Google Chat и дополнений Google Workspace.
JSON-представление |
---|
{ "name": string, "label": string, "hintText": string, "value": string, "type": enum ( |
Поля | |
---|---|
name | Имя, по которому идентифицируется ввод текста в событии ввода формы. Подробные сведения о работе с входными данными формы см. в разделе Получение данных формы . |
label | Текст, который появляется над полем ввода текста в пользовательском интерфейсе. Укажите текст, который поможет пользователю ввести информацию, необходимую вашему приложению. Например, если вы спрашиваете чье-то имя, но вам конкретно нужна фамилия, напишите Требуется, |
hintText | Текст, который появляется под полем ввода текста, предназначен для помощи пользователям, предлагая им ввести определенное значение. Этот текст всегда виден. Требуется, если |
value | Значение, введенное пользователем и возвращаемое как часть события ввода формы. Подробные сведения о работе с входными данными формы см. в разделе Получение данных формы . |
type | Как поле ввода текста отображается в пользовательском интерфейсе. Например, является ли поле однострочным или многострочным. |
onChangeAction | Что делать, если в поле ввода текста произошло изменение. Например, пользователь добавляет поле или удаляет текст. Примеры действий, которые следует предпринять, включают запуск пользовательской функции или открытие диалога в Google Chat. |
initialSuggestions | Рекомендуемые значения, которые могут ввести пользователи. Эти значения появляются, когда пользователи щелкают внутри поля ввода текста. По мере того, как пользователи вводят текст, предлагаемые значения динамически фильтруются в соответствии с тем, что набрали пользователи. Например, поле ввода текста для языка программирования может предлагать Java, JavaScript, Python и C++. Когда пользователи начинают вводить Предлагаемые значения помогают пользователям вводить значения, понятные вашему приложению. Говоря о JavaScript, некоторые пользователи могут вводить Если указано, Доступно для приложений Google Chat и дополнений Google Workspace. |
autoCompleteAction | Необязательный. Укажите, какое действие следует выполнять, когда поле ввода текста предлагает предложения пользователям, которые с ним взаимодействуют. Если не указано, предложения устанавливаются с помощью Если указано, приложение выполняет указанное здесь действие, например запускает пользовательскую функцию. Доступно для дополнений Google Workspace и недоступно для приложений Google Chat. |
validation | Доступно для приложений Google Chat и дополнений Google Workspace. |
placeholderText | Текст, который появляется в поле ввода текста, когда поле пусто. Используйте этот текст, чтобы предложить пользователям ввести значение. Например, Доступно для приложений Google Chat и недоступно для дополнений Google Workspace. |
Тип
Как поле ввода текста отображается в пользовательском интерфейсе. Например, будь то однострочное или многострочное поле ввода. Если указан initialSuggestions
, type
всегда является SINGLE_LINE
, даже если для него установлено значение MULTIPLE_LINE
.
Доступно для приложений Google Chat и дополнений Google Workspace.
Перечисления | |
---|---|
SINGLE_LINE | Поле ввода текста имеет фиксированную высоту в одну строку. |
MULTIPLE_LINE | Поле ввода текста имеет фиксированную высоту в несколько строк. |
Действия рендеринга
Набор инструкций по отрисовке, которые сообщают карточке о необходимости выполнения действия или сообщают главному приложению надстройки или приложению чата выполнить действие, специфичное для приложения.
Доступно для приложений Google Chat и дополнений Google Workspace.
Поля | |
---|---|
action |
Действие
Поля | |
---|---|
navigations[] | Нажмите или обновите отображаемые карты. |
Предложения
Рекомендуемые значения, которые могут ввести пользователи. Эти значения появляются, когда пользователи щелкают внутри поля ввода текста. По мере того, как пользователи вводят текст, предлагаемые значения динамически фильтруются в соответствии с тем, что набрали пользователи.
Например, поле ввода текста для языка программирования может предложить Java, JavaScript, Python и C ++. Когда пользователи начнут печатать Jav
, список предложений фильтровал, чтобы показать Java
и JavaScript
.
Предлагаемые значения помогают пользователям вводить значения, которые может понять ваше приложение. При ссылке на JavaScript некоторые пользователи могут ввести javascript
, а другие java script
. Предложение JavaScript
может стандартизировать, как пользователи взаимодействуют с вашим приложением.
Когда указано, TextInput.type
всегда SINGLE_LINE
, даже если он устанавливается на MULTIPLE_LINE
.
Доступно для приложений Google Chat и надстройки Google Workspace.
JSON-представление |
---|
{
"items": [
{
object ( |
Поля | |
---|---|
items[] | Список предложений, используемых для рекомендаций автозаполнения в полях ввода текста. |
Предложение
Одно предложенное значение, которое пользователи могут ввести в поле текстового ввода.
Доступно для приложений Google Chat и надстройки Google Workspace.
JSON-представление |
---|
{ // Union field |
Поля | |
---|---|
| |
text | Значение предлагаемого ввода в поле ввода текста. Это эквивалентно тому, что пользователи вводят себя. |
Валидация
Доступно для приложений Google Chat и надстройки Google Workspace.
JSON-представление |
---|
{
"characterLimit": integer,
"inputType": enum ( |
Поля | |
---|---|
characterLimit | Доступно для приложений Google Chat и надстройки Google Workspace. |
inputType | Доступно для приложений Google Chat и надстройки Google Workspace. |
Inputtype
Тип входного виджета.
Перечисление | |
---|---|
INPUT_TYPE_UNSPECIFIED | Неопределенный тип. Не используйте. |
TEXT | Регулярный текст, который принимает всех символов. |
INTEGER | Целочисленное значение. |
FLOAT | Значение поплавки. |
EMAIL | Адрес электронной почты. |
EMOJI_PICKER | Эмодзи, отобранный из предоставленного системой сборщика смайликов. |
SelectionInput
Виджет, который создает один или несколько элементов пользовательского интерфейса, которые могут выбрать пользователи. Например, выпадающее меню или флажки. Вы можете использовать этот виджет для сбора данных, которые могут быть предсказаны или перечислены. Для примера в приложениях Google Chat см. «Добавить выбранные элементы пользовательского интерфейса» .
Приложения чата могут обрабатывать значение элементов, которые пользователи выбирают или вводятся. Для получения подробной информации о работе с входами формы см. Данные формы приема .
Чтобы собрать неопределенные или абстрактные данные от пользователей, используйте виджет TextInput
.
Доступно для приложений Google Chat и надстройки Google Workspace.
JSON-представление |
---|
{ "name": string, "label": string, "type": enum ( |
Поля | |
---|---|
name | Необходимый. Имя, которое идентифицирует ввод выбора в событии ввода формы. Для получения подробной информации о работе с входами формы см. Данные формы приема . |
label | Текст, который появляется над полем ввода выбора в пользовательском интерфейсе. Укажите текст, который помогает пользователю ввести информацию, необходимую вашему приложению. Например, если пользователи выбирают срочность рабочего билета из раскрывающегося меню, этикетка может быть «срочно» или «выберите срочность». |
type | Тип элементов, которые отображаются пользователям в виджете |
items[] | Массив выбранных элементов. Например, массив радиопроизводств или флажок. Поддерживает до 100 предметов. |
onChangeAction | Если указано, форма отправляется при изменении выбора. Если не указано, вы должны указать отдельную кнопку, которая подчиняет форму. Для получения подробной информации о работе с входами формы см. Данные формы приема . |
multiSelectMaxSelectedItems | Для MultiSelect Menus максимальное количество элементов, которые пользователь может выбрать. Минимальное значение - 1 элемент. Если не указано, по умолчанию 3 пункта. |
multiSelectMinQueryLength | Для MultiSelect Menus количество текстовых символов, которые пользователь вводит перед приложением, запрашивает автозаполнение и отображает предлагаемые элементы в меню. Если не указано, по умолчанию до 0 символов для статических источников данных и 3 символов для внешних источников данных. |
validation | Для выпадающих меню проверку для этого поля ввода выбора. Доступно для приложений Google Chat и надстройки Google Workspace. |
Поле Союза Доступно для приложений Google Chat и недоступно для надстройки Google Workspace. | |
externalDataSource | Внешний источник данных, такой как реляционная база данных. |
platformDataSource | Источник данных из Google Workspace. |
SelectionType
Формат для элементов, которые пользователи могут выбрать. Различные параметры поддерживают различные типы взаимодействий. Например, пользователи могут выбрать несколько флажков, но могут выбрать только один элемент из раскрывающегося меню.
Каждый ввод выбора поддерживает один тип выбора. Например, смешивание флажок и коммутаторов не поддерживается.
Доступно для приложений Google Chat и надстройки Google Workspace.
Перечисление | |
---|---|
CHECK_BOX | Набор флажок. Пользователи могут выбрать один или несколько флажков. |
RADIO_BUTTON | Набор радиопроизводств. Пользователи могут выбрать одну радиопроизводительную кнопку. |
SWITCH | Набор переключателей. Пользователи могут включать один или несколько коммутаторов. |
DROPDOWN | Выпадающее меню. Пользователи могут выбрать один элемент из меню. |
MULTI_SELECT | Многосекционное меню для статических или динамических данных. В строке меню пользователи выбирают один или несколько элементов. Пользователи также могут вводить значения для заполнения динамических данных. Например, пользователи могут начать набирать имя пространства чата Google, а виджет автоматически использует пространство. Чтобы заполнить элементы для многосекционного меню, вы можете использовать один из следующих типов источников данных:
Примеры того, как реализовать MultiSelect Menus, см. Добавьте меню MultiSelect . Доступно для приложений Google Chat и надстройки Google Workspace. |
SelectionItem
Элемент, который пользователи могут выбрать во входе выбора, например, флажок или коммутатор.
Доступно для приложений Google Chat и надстройки Google Workspace.
JSON-представление |
---|
{ "text": string, "value": string, "selected": boolean, "startIconUri": string, "bottomText": string } |
Поля | |
---|---|
text | Текст, который идентифицирует или описывает элемент для пользователей. |
value | Значение, связанное с этим элементом. Клиент должен использовать это в качестве входного значения формы. Для получения подробной информации о работе с входами формы см. Данные формы приема . |
selected | Будет ли элемент выбран по умолчанию. Если ввод выбора принимает только одно значение (например, для радиопроизводительных кнопок или раскрывающегося меню), установите это поле только для одного элемента. |
startIconUri | Для MultiSelect Menus URL -адрес для значка, отображаемого рядом с |
bottomText | Для MultiSelect Menus текстовое описание или этикетку, отображаемое ниже |
PlatformDatasource
Для виджета
, в котором используется многоселекное меню, источник данных из Google Workspace. Используется для заполнения предметов в многосекционном меню. SelectionInput
Доступно для приложений Google Chat и недоступно для надстройки Google Workspace.
JSON-представление |
---|
{ // Union field |
Поля | |
---|---|
Поле Союза data_source . Источник данных. data_source может быть только одним из следующих: | |
commonDataSource | Источник данных, разделяемый всеми приложениями Google Workspace, таких как пользователи в организации Google Workspace. |
hostAppDataSource | Источник данных, уникальный для приложения Google Workspace Host, таких пространств в Google Chat. Это поле поддерживает клиентские библиотеки Google API, но не доступно в библиотеках Cloud Client. Чтобы узнать больше, см. Установите клиентские библиотеки . |
Commondatasource
Источник данных, разделяемый всеми приложениями Google Workspace .
Доступно для приложений Google Chat и недоступно для надстройки Google Workspace.
Перечисление | |
---|---|
UNKNOWN | Значение по умолчанию. Не используйте. |
USER | Пользователи Google Workspace. Пользователь может просматривать и выбирать пользователей только из своей организации Google Workspace. |
Hostappdatasourcemarkup
Для виджета
, в котором используется многоселекное меню, источник данных из приложения Google Workspace. Источник данных населяет элементы выбора для меню MultiSelect. SelectionInput
Доступно для приложений Google Chat и недоступно для надстройки Google Workspace.
JSON-представление |
---|
{ // Union field |
Поля | |
---|---|
Поле Союза data_source . Приложение Google Workspace, которое заполняет элементы для многосекционного меню. data_source может быть только одним из следующих: | |
chatDataSource | Источник данных из Google Chat. |
ChatClientDatasourcemarkup
Для виджета
, в котором используется многоселекное меню, источник данных из Google Chat. Источник данных населяет элементы выбора для меню MultiSelect. Например, пользователь может выбрать пространства чата Google, которые он является членом. SelectionInput
Доступно для приложений Google Chat и недоступно для надстройки Google Workspace.
JSON-представление |
---|
{ // Union field |
Поля | |
---|---|
Полевой source союза. Источник данных в чате Google. source может быть только одним из следующих: | |
spaceDataSource | Google Chat Spaces, которым является пользователь. |
Распространенный
Источник данных, который заполняет пространства чата Google в качестве элементов выбора для многосекционного меню. Только популярно пространства, которые пользователь является членом.
Доступно для приложений Google Chat и недоступно для надстройки Google Workspace.
JSON-представление |
---|
{ "defaultToCurrentSpace": boolean } |
Поля | |
---|---|
defaultToCurrentSpace | Если установлено в |
DateTimepicker
Позволяет пользователям вводить дату, время или как дату, так и время. Для примера в приложениях Google Chat см. Позвольте пользователю выбрать дату и время .
Пользователи могут вводить текст или использовать сборщик для выбора дат и времени. Если пользователи вводят неверную дату или время, сборщик показывает ошибку, которая побуждает пользователей правильно вводить информацию.
Доступно для приложений Google Chat и надстройки Google Workspace.
JSON-представление |
---|
{ "name": string, "label": string, "type": enum ( |
Поля | |
---|---|
name | Имя, с помощью которого Для получения подробной информации о работе с входами формы см. Данные формы приема . |
label | Текст, который побуждает пользователей вводить дату, время или дату и время. Например, если пользователи планируют встречу, используйте этикетку, такую как |
type | Поддерживает ли виджет ввод даты, времени или даты и времени. |
valueMsEpoch | Значение по умолчанию отображается в виджете, в миллисекундах со времен Unix Epoch . Укажите значение, основанное на типе Picker (
|
timezoneOffsetDate | Номер, представляющий смещение часового пояса от UTC, за считанные минуты. Если установлено, |
onChangeAction | Запускается, когда пользователь нажимает сохранение или очистку в интерфейсе |
validation | Доступно для приложений Google Chat и надстройки Google Workspace. |
DateTimePickerType
Формат для даты и времени в виджете DateTimePicker
. Определяет, могут ли пользователи вводить дату, время или как дату, так и время.
Доступно для приложений Google Chat и надстройки Google Workspace.
Перечисление | |
---|---|
DATE_AND_TIME | Пользователи вводят дату и время. |
DATE_ONLY | Пользователи вводят дату. |
TIME_ONLY | Пользователи вводят время. |
Разделитель
Этот тип не имеет полей.
Отображает разделитель между виджетами в виде горизонтальной линии. Для примера в приложениях Google Chat см. Добавьте горизонтальный разделитель между виджетами .
Доступно для приложений Google Chat и надстройки Google Workspace.
Например, следующий JSON создает делитель:
"divider": {}
Сетка
Отображает сетку с коллекцией предметов. Элементы могут включать только текст или изображения. Для отзывчивых столбцов или для того, чтобы включить больше, чем текст или изображения, используйте
. Для примера в приложениях Google Chat см. Показать сетку с коллекцией элементов .Columns
Сетка поддерживает любое количество столбцов и элементов. Количество строк определяется элементами, разделенными на столбцах. Сетка с 10 пунктами и 2 столбцами имеет 5 строк. Сетка с 11 элементами и 2 столбцами имеет 6 строк.
Доступно для приложений Google Chat и надстройки Google Workspace.
Например, следующий JSON создает сетку из 2 столбцов с одним элементом:
"grid": {
"title": "A fine collection of items",
"columnCount": 2,
"borderStyle": {
"type": "STROKE",
"cornerRadius": 4
},
"items": [
{
"image": {
"imageUri": "https://www.example.com/image.png",
"cropStyle": {
"type": "SQUARE"
},
"borderStyle": {
"type": "STROKE"
}
},
"title": "An item",
"textAlignment": "CENTER"
}
],
"onClick": {
"openLink": {
"url": "https://www.example.com"
}
}
}
JSON-представление |
---|
{ "title": string, "items": [ { object ( |
Поля | |
---|---|
title | Текст, который отображается в заголовке сетки. |
items[] | Элементы для отображения в сетке. |
borderStyle | Стиль границы, чтобы применить к каждому сетку. |
columnCount | Количество столбцов для отображения в сетке. Значение по умолчанию используется, если это поле не указано, и это значение по умолчанию различено в зависимости от того, где показана сетка (диалог против компаньона). |
onClick | Этот обратный вызов повторно используется каждым отдельным элементом сетки, но с идентификатором и индексом элемента в списке элементов, добавленным в параметры обратного вызова. |
Griditem
Представляет предмет в сетке. Элементы могут содержать текст, изображение или текст и изображение.
Доступно для приложений Google Chat и надстройки Google Workspace.
JSON-представление |
---|
{ "id": string, "image": { object ( |
Поля | |
---|---|
id | Указанный пользователем идентификатор для этого элемента сетки. Этот идентификатор возвращается в параметрах |
image | Изображение, которое отображается в элементе сетки. |
title | Название предмет сетки. |
subtitle | Подзаголовок из сети. |
layout | Макет для использования для элемента сетки. |
ImageComponent
Представляет изображение.
Доступно для приложений Google Chat и надстройки Google Workspace.
JSON-представление |
---|
{ "imageUri": string, "altText": string, "cropStyle": { object ( |
Поля | |
---|---|
imageUri | Изображение URL. |
altText | Метка доступности для изображения. |
cropStyle | Стиль обрезки, чтобы применить к изображению. |
borderStyle | Стиль границы, чтобы применить к изображению. |
ImageCropstyle
Представляет стиль обрезки, применяемый к изображению.
Доступно для приложений Google Chat и надстройки Google Workspace.
Например, вот как применить соотношение сторон 16: 9:
cropStyle {
"type": "RECTANGLE_CUSTOM",
"aspectRatio": 16/9
}
JSON-представление |
---|
{
"type": enum ( |
Поля | |
---|---|
type | Тип урожая. |
aspectRatio | Соотношение сторон для использования, если тип урожая Например, вот как применить соотношение сторон 16: 9:
|
ImageCroptype
Представляет стиль обрезки, применяемый к изображению.
Доступно для приложений Google Chat и надстройки Google Workspace.
Перечисление | |
---|---|
IMAGE_CROP_TYPE_UNSPECIFIED | Не используйте. Неуказано. |
SQUARE | Значение по умолчанию. Применяет квадратный урожай. |
CIRCLE | Применяет круговой урожай. |
RECTANGLE_CUSTOM | Применяет прямоугольную культуру с пользовательским соотношением сторон. Установите пользовательское соотношение сторон с помощью aspectRatio . |
RECTANGLE_4_3 | Применяет прямоугольную культуру с соотношением сторон 4: 3. |
Borderstyle
Варианты стиля для границы карты или виджета, включая тип границы и цвет.
Доступно для приложений Google Chat и надстройки Google Workspace.
JSON-представление |
---|
{ "type": enum ( |
Поля | |
---|---|
type | Тип границы. |
strokeColor | Цвета, которые следует использовать, когда тип - Чтобы установить цвет хода, укажите значение для Например, следующее устанавливает цвет на красный на максимальной интенсивности:
|
cornerRadius | Радиус углового для границы. |
Тип границы
Представляет типы границ, применяемые к виджетам.
Доступно для приложений Google Chat и надстройки Google Workspace.
Перечисление | |
---|---|
BORDER_TYPE_UNSPECIFIED | Не используйте. Неуказано. |
NO_BORDER | Значение по умолчанию. Нет границы. |
STROKE | Контур. |
Griditemlayout
Представляет различные параметры макета, доступные для сетки.
Доступно для приложений Google Chat и надстройки Google Workspace.
Перечисление | |
---|---|
GRID_ITEM_LAYOUT_UNSPECIFIED | Не используйте. Неуказано. |
TEXT_BELOW | Название и подзаголовок показаны под изображением элемента сетки. |
TEXT_ABOVE | Название и подзаголовок показаны над изображением элемента сетки. |
Столбцы
Виджет Columns
отображает до 2 столбцов в карте или диалоговом окне. Вы можете добавить виджеты в каждый столбец; Виджеты появляются в порядке, в котором они указаны. Для примера в приложениях Google Chat см. Дисплей карт и диалоги в столбцах .
Высота каждого столбца определяется более высокой колонкой. Например, если первый столбец выше второго столбца, оба столбца имеют высоту первого столбца. Поскольку каждый столбец может содержать различное количество виджетов, вы не можете определить строки или выравнивать виджеты между столбцами.
Столбцы отображаются бок о бок. Вы можете настроить ширину каждого столбца, используя поле HorizontalSizeStyle
. Если ширина экрана пользователя слишком узкая, второй столбец завершается ниже первого:
- В Интернете второй столбец завершается, если ширина экрана меньше или равна 480 пикселям.
- На устройствах iOS второй столбец завершается, если ширина экрана меньше или равна 300 pt.
- На устройствах Android второй столбец завершается, если ширина экрана меньше или равна 320 DP.
Чтобы включить более 2 столбцов или для использования строк, используйте виджет
. Grid
Доступно для приложений Google Chat и надстройки Google Workspace. Дополнительные интерфейсы, которые поддерживают столбцы, включают в себя:
- Диалог отображается, когда пользователи открывают дополнение из черновика электронной почты.
- Диалог отображается, когда пользователи открывают дополнение из меню «Добавить вложение» в событии календаря Google.
JSON-представление |
---|
{
"columnItems": [
{
object ( |
Поля | |
---|---|
columnItems[] | Массив столбцов. Вы можете включить до 2 столбцов в карту или диалог. |
Столбец
Колонка.
JSON-представление |
---|
{ "horizontalSizeStyle": enum ( |
Поля | |
---|---|
horizontalSizeStyle | Указывает, как столбец заполняет ширину карты. |
horizontalAlignment | Определяет, выровняются ли виджеты влево, справа или центр столбца. |
verticalAlignment | Указывает, выравниваются ли виджеты в верхнюю, нижнюю или центр столбца. |
widgets[] | Массив виджетов, включенных в колонку. Виджеты появляются в порядке, в котором они указаны. |
Horizontalsizestyle
Указывает, как столбец заполняет ширину карты. Ширина каждого столбца зависит как от HorizontalSizeStyle
, так и от ширины виджетов в колонке.
Перечисление | |
---|---|
HORIZONTAL_SIZE_STYLE_UNSPECIFIED | Не используйте. Неуказано. |
FILL_AVAILABLE_SPACE | Значение по умолчанию. Колонна заполняет доступное пространство, до 70% ширины карты. Если оба столбца устанавливаются на FILL_AVAILABLE_SPACE , каждый столбец заполняет 50% пространства. |
FILL_MINIMUM_SPACE | Колонна заполняет наименьшее количество места и не более 30% от ширины карты. |
Горизонталинг
Определяет, выровняются ли виджеты влево, справа или центр столбца.
Доступно для приложений Google Chat и недоступно для надстройки Google Workspace.
Перечисление | |
---|---|
HORIZONTAL_ALIGNMENT_UNSPECIFIED | Не используйте. Неуказано. |
START | Значение по умолчанию. Выравнивает виджеты с начальной позицией столбца. Для макетов слева направо выровняется влево. Для макетов справа налево выровняется справа. |
CENTER | Выравнивает виджеты в центр колонны. |
END | Выравнивает виджеты с конечной позицией столбца. Для макетов слева направо выравнивает виджеты вправо. Для макетов справа налево выравнивает виджеты влево. |
Вертикалинг
Указывает, выравниваются ли виджеты в верхнюю, нижнюю или центр столбца.
Перечисление | |
---|---|
VERTICAL_ALIGNMENT_UNSPECIFIED | Не используйте. Неуказано. |
CENTER | Значение по умолчанию. Выравнивает виджеты в центр колонны. |
TOP | Выравнивает виджеты до вершины столбца. |
BOTTOM | Выравнивает виджеты до нижней части колонны. |
Виджеты
Поддерживаемые виджеты, которые вы можете включить в столбец.
JSON-представление |
---|
{ // Union field |
Поля | |
---|---|
Объединенные полевые | |
textParagraph | Виджет |
image | Виджет |
decoratedText | Виджет |
buttonList | |
textInput | Виджет |
selectionInput | |
dateTimePicker | Виджет |
chipList | Виджет |
Слист чипсов
Список чипов выложен горизонтально, который может либо прокручивать горизонтали, либо завернуть к следующей линии.
Доступно для приложений Google Chat и недоступно для надстройки Google Workspace.
JSON-представление |
---|
{ "layout": enum ( |
Поля | |
---|---|
layout | Указанный макет списка чипов. |
chips[] | Массив чипсов. |
Макет
Макет списка чипов.
Перечисление | |
---|---|
LAYOUT_UNSPECIFIED | Не используйте. Неуказано. |
WRAPPED | Значение по умолчанию. Список чипов переходит к следующей строке, если не хватает горизонтального пространства. |
HORIZONTAL_SCROLLABLE | Чипсы прокручивают горизонтально, если они не вписываются в доступное пространство. |
Чип
Текст, значок или текст и микросхема, который пользователи могут нажать.
Доступно для приложений Google Chat и недоступно для надстройки Google Workspace.
JSON-представление |
---|
{ "icon": { object ( |
Поля | |
---|---|
icon | Изображение значка. Если устанавливаются и |
label | Текст отображается внутри чипа. |
onClick | Необязательный. Действие для выполнения, когда пользователь нажимает на чип, такой как открытие гиперссылки или запуск пользовательской функции. |
enabled | Находится ли чип в активном состоянии и отвечает на действия пользователя. По умолчанию к |
disabled | Находится ли чип в неактивном состоянии и игнорирует действия пользователя. По умолчанию |
altText | Альтернативный текст, который используется для доступности. Установите описательный текст, который позволяет пользователям знать, что делает чип. Например, если чип открывает гиперссылку, напишите: «Открывает новую вкладку браузера и перемещается в документацию по разработчику чата Google по адресу https://developers.google.com/workspace/chat» . |
CollapseControl
Представляют собой управление расширением и коллапсом. Доступно для приложений Google Chat и недоступно для надстройки Google Workspace.
JSON-представление |
---|
{ "horizontalAlignment": enum ( |
Поля | |
---|---|
horizontalAlignment | Горизонтальное выравнивание кнопки расширения и коллапса. |
expandButton | Необязательный. Определите настраиваемую кнопку для расширения раздела. Оба Expandbutton и Collapsebutton Field должно быть установлено. Только один набор поля не вступит в силу. Если это поле не установлено, используется кнопка по умолчанию. |
collapseButton | Необязательный. Определите настраиваемую кнопку, чтобы свернуть раздел. Оба Expandbutton и Collapsebutton Field должно быть установлено. Только один набор поля не вступит в силу. Если это поле не установлено, используется кнопка по умолчанию. |
DividerStyle
Разделитель стиль карты. В настоящее время используется только для разделов карт разделителей.
Доступно для приложений Google Chat и надстройки Google Workspace.
Перечисление | |
---|---|
DIVIDER_STYLE_UNSPECIFIED | Не используйте. Неуказано. |
SOLID_DIVIDER | Опция по умолчанию. Сделать твердый разделитель. |
NO_DIVIDER | Если установлено, делитель не отображается. Этот стиль полностью удаляет делитель из макета. Результат эквивалентен не добавлению делителя вообще. |
Кардация
Действие карты - это действие, связанное с картой. Например, карта счета может включать такие действия, как удаление счета, счета по электронной почте или открыть счет в браузере.
Доступно для Google Workspace Adsons и недоступно для приложений Google Chat.
JSON-представление |
---|
{
"actionLabel": string,
"onClick": {
object ( |
Поля | |
---|---|
actionLabel | Метка, которая отображается как элемент меню действий. |
onClick | Действие |
DisplayStyle
В надстройках Google Workspace определяется, как отображается карта.
Доступно для Google Workspace Adsons и недоступно для приложений Google Chat.
Перечисление | |
---|---|
DISPLAY_STYLE_UNSPECIFIED | Не используйте. Неуказано. |
PEEK | Заголовок карты появляется в нижней части боковой панели, частично покрывая текущую верхнюю карту стека. Нажатие на заголовок вытаскивает карту в стек карт. Если на карте нет заголовка, вместо этого используется сгенерированный заголовок. |
REPLACE | Значение по умолчанию. Карта отображается путем замены вида верхней карты в стеке карт. |