0
如何動態更改火花組件TextArea中的某些單詞顏色。例如,我想在文本中「快速的棕色狐狸跳過懶狗。」單詞「狗」是紅色和詞「狐狸」綠色。動態更改文本流火花flex
<s:TextArea textFlow="{scriptTextAreaTextFlow}" change="{doSomething(event)}" text ="A quick brown fox jumps over the lazy dog." id="tarea1"/>
在每一個變化函數DoSomething的叫,她發現「狗」字和詞「狐狸」的每一個位置的每一個位置。我需要做的就是動態改變這些單詞的顏色。在mx中,使用TextRange很容易。現在
tr = new TextRange(tarea1, false, start, end);
tr.color = "#00FF00"
,火花我找到了一種與TextFlow的
scriptTextAreaTextFlow = TextFlowUtil.importFromString(resoult);
上色它其中「resoult」是生成的HTML代碼,基於文本區,從文本,這樣的話狗和狐狸的着色。問題是,檢查(和着色)都是現場做(的onChange)和每
scriptTextAreaTextFlow = TextFlowUtil.importFromString(resoult);
文本區域錨移動後位置0(開始)。我發現解決這個問題的唯一方法是在編輯之前記住錨點的位置,並在着色後設置它,但我正在尋找更好的解決方案。
請幫助...
感謝
與 變種txtLayFmt解決它:textLayoutFormat中= tarea2.getFormatOfRange(NULL, 14, 16); txtLayFmt.color =「#00FF00」; tarea2.setFormatOfRange(txtLayFmt, 14, 16); tarea2.setFocus(); } – 2012-04-19 15:06:22
如果你解決你的問題,而不是評論,張貼爲答案,並接受,如果它適用於你.. – 2012-04-20 10:03:47
我不知道那... – 2012-04-20 14:00:07