在一系列字符上动态更改Spark TextArea文本颜色

时间:2010-12-22 06:17:13

标签: flex textarea flex4 flex-spark textrange

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

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

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

输入TextRange构造函数的参数:

  1. 第一个参数:TextArea控件,它将提供对底层 textField 属性的访问
  2. 第二个参数:表示TextRange不会修改TextArea的内容
  3. 第三个参数:TextArea文本字符串中的起始索引位置
  4. 第四个参数:TextArea文本字符串中的结束索引位置
  5. 我如何为基于Spark的TextArea控件执行此操作?我希望动态更改一系列文本的字体颜色,而不仅仅是整个TextArea我不能静态指定字体颜色。我在尝试重用TextRange类型时遇到的问题是第一个参数应该提供 textField 属性,该属性当前不在基于Spark的TextArea控件上。我考虑过扩展基于Spark的TextArea控件来提供这个访问器属性,但这似乎有点矫枉过正,可能不是最好的方法。

    非常感谢任何帮助。

    谢谢, 迈克尔

1 个答案:

答案 0 :(得分:0)

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