Скрипт приложения Google, центр действий выравнивания аддона gmail и стилизация TextInput
У меня есть простой аддон Gmail, используя скрипт Google, в этом у меня есть борьба здесь,
Я использовал простую карту, проблема в том, что нам нужно выровнять кнопку действия в центре карты и применить стили CSS к TextInput
я ссылаюсь на документ, но не нахожу никаких методов
Код ниже, который я пробовал,
var card = CardService.newCardBuilder();
card.setHeader(CardService.newCardHeader().setTitle("Login Here"));
var section = CardService.newCardSection()
var cleint_id_Input = CardService.newTextInput()
.setFieldName("client_id")
.setTitle("Please enter clinet id")
var username_Input = CardService.newTextInput()
.setFieldName("username")
.setTitle("Please enter username")
var password_Input = CardService.newTextInput()
.setFieldName("password")
.setTitle("Please enter password")
section.addWidget(cleint_id_Input)
section.addWidget(username_Input)
section.addWidget(password_Input)
Logger.log("Input Value%s",cleint_id_Input)
//Login action button
var action = CardService.newAction().setFunctionName('loginCallback');
section.addWidget(CardService.newTextButton().setText('Login').setOnClickAction(action))
card.addSection(section)
заранее спасибо
2 ответа
На данный момент дополнения gmail не поддерживают полную стилизацию виджетов ввода. Но есть способ, которым мы можем сделать небольшое форматирование виджетов. Для получения дополнительной информации перейдите по ссылке: https://developers.google.com/gmail/add-ons/concepts/widgets.
Чтобы выровнять кнопку по центру по горизонтали, вы можете использовать следующий хак:
var whitespaces = " ";
section.addWidget(CardService.newTextButton().setText(whitespaces + "button" + whitespaces).setOnClickAction(action));
Вот лучший способ сделать это с помощью decorText:
function createRightButton(text, functionName) {
var action = CardService.newAction()
.setFunctionName(functionName);
var button = CardService.newTextButton()
.setText(text)
.setOnClickAction(action)
.setTextButtonStyle(CardService.TextButtonStyle.FILLED);
var rightButton = CardService.newDecoratedText()
.setButton(button)
.setText(" ");
return rightButton;
}