0

希望能得到一些 Flex 3/4 大师的帮助...

我正在尝试动态更改 Spark TextArea 控件中文本子集/部分的颜色。使用基于 MX 的 TextArea,我可以利用 mx.controls.textClasses.TextRange 类型并直接更改颜色,如下所示:

TextRange tr = new TextRange(theTextAreaControl, false, beginIndex, endIndex);  tr.color = somePredefindColor;

TextRange 构造函数的输入参数:

  1. 第一个参数:将提供对基础textField属性的访问的 TextArea 控件
  2. 第二个参数:表示 TextRange 不会修改 TextArea 的内容
  3. 第三个参数:TextArea 文本字符串中的开始索引位置
  4. 第 4 个参数:TextArea 文本字符串中的结束索引位置

我将如何为基于 Spark 的 TextArea 控件执行此操作?我希望动态更改一系列文本的字体颜色,而不仅仅是整个 TextArea 并且我无法静态指定字体颜色。我在尝试重用 TextRange 类型时遇到的问题是第一个参数应该提供textField属性,该属性目前不在基于 Spark 的 TextArea 控件上。我考虑过扩展基于 Spark 的 TextArea 控件以提供此访问器属性,但这似乎有点矫枉过正,可能不是最好的方法。

任何帮助将不胜感激。

谢谢,迈克尔

4

1 回答 1

0

在处理 Spark 文本组件时,您需要使用文本布局框架 (TLF),它构建在 Flash Player 10 中引入的 Flash 文本引擎 (FTE) 之上。它使您可以主要控制文本的方式显示(以相当复杂为代价)。这是一个很好的起点:使用文本布局框架

于 2010-12-22T16:29:33.880 回答