ActionScript: как применить другое форматирование к содержимому TextArea - PullRequest
0 голосов
/ 17 мая 2011

У меня есть компонент TextArea, называемый метками, который будет заполняться строками в массиве с именем labelArray.

Пример содержимого labelArray:

private var labelsArray:Array = new Array( "apple", "*banana", "carrot" );

Изначально я заполнял метки этим оператором:

labels.text = labelsArray.join( "\n" );

Если перед строкой стоит звездочка (*) - как в случае с «бананом» в содержании образца - эта строка должна быть другого цвета и заключена в квадратные скобки[].Сама звездочка не отображается.

Мне не удалось найти форматирование, примененное к строкам.

Я узнал о классе TextFormat, который будет применяться к объектам TextField с помощью setTextFormat.

Я также узнал о классе TextLayoutFormat, который будет применяться к объектам TextArea с помощью setFormatOfRange.К сожалению, я не в соответствии с объяснениями параметров setFormatOfRange:

setFormatOfRange (format, anchorPosition, activePosition) anchorPosition - позиция символа относительно начала текстовой строки, определяющая конец строкивыбор, который остается неизменным, когда выбор расширяется клавишами со стрелками.activePosition - позиция символа относительно начала текстовой строки, указывающая конец выделения, который перемещается при расширении выделения клавишами со стрелками.

Я не понимаю, начиная с "...указав конец ... "до конца.Я не понимаю, как клавиши со стрелками влияют на форматирование текста.

Есть ли что-то намного проще, чем это?Я надеюсь перебрать labelArray и применить форматирование при необходимости к каждой строке, а затем объединить / добавить его в label.text.

Спасибо за вашу помощь!Бонни

1 Ответ

1 голос
/ 17 мая 2011

Одним из способов является использование свойства htmlText.

myTextArea.htmlText = "<font color="red" size="12">String1</font>,
  <font color="green" size="11">String2</font>";
...