Скрипт приложения 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;
}
Другие вопросы по тегам