Способ изменить цвет выделения при вызове TextRange.select () - PullRequest
0 голосов
/ 28 января 2019

Я создаю новое дополнение для google-слайдов, мне нужно выделить текст.Я использую метод выбора в TextRange API.Цвет выделения по умолчанию - серый.В случае, если слайд имеет темный фон, подсветка не видна

const textRange as GoogleAppsScript.Slides.TextRange;
textRange.getRange(start, end).select();

Этот параметр всегда выделяется серым цветом.Он невидим, если фон черный или любой темный цвет.

Можно ли динамически изменить цвет выделения?Так что это всегда в отличие от фона.

1 Ответ

0 голосов
/ 25 февраля 2019

TextRange имеет более интересный способ выделения: TextStyle .Если ваш код дополнения можно преобразовать в стиль вместо выбора, тогда это решение для вас.

В частности, эта небольшая функция очищает предыдущий выделенный текст и создает новый:

function highLight() {
  var textRange = SlidesApp.getActivePresentation().getSlides()[0].getShapes()[0].getText();
  textRange.getTextStyle().setBackgroundColorTransparent();
  textRange.getRange(131, 146).getTextStyle().setBackgroundColor(255, 255, 150);
}

См. Результат ниже:

enter image description here

...