2012-02-10 68 views
1

我在Flex 3中實現聯繫人列表,現在我已經實現了列表篩選以顯示結果。但是,我想突出顯示結果中的匹配字符,是否有可能完成此操作?例如:Flex 3:突出顯示(更改背景)字符串中的某些字符

enter image description here

+0

htmlText? http://livedocs.adobe.com/flex/3/html/help.html?content=textcontrols_04.html – 2012-02-14 21:59:11

回答

0

可以使用this庫。從gskinner看example。您還可以使用setTextFormat來更改某些字符的格式,但使用此方法您無法更改文本背景顏色。如果您不需要更改背景顏色,並且只需使用下劃線使用文本格式或TextRange即可。

如果您需要100%的解決方案,只需深入研究解決方案,如this或閱讀this舊的但不錯的帖子。希望能讓你知道從哪裏開始。

+0

難道還沒有其他辦法可以做到嗎? – Rui 2012-02-10 18:05:44

+0

當然!我添加了一些鏈接,可以幫助您找到解決方案。 – 2012-02-10 22:46:24

+0

這對你有幫助嗎?如果這是有幫助的,隨時接受答案。 – 2012-02-24 00:42:48

0

要更改背景顏色,只需將您的標籤或文本對象放入HBox中即可。

<mx:HBox> 
    <mx:Label text="{contact.name}"/> 
</mx:HBox> 

然後在HBox上設置backgroundColor,您可以將其引用爲Label#parent。既然你要創建一個動態的聯繫人列表中,我假設你有他們在一個數組並循環在陣列上以檢查名稱相匹配

var currentContact:Label = myContactLabelsArray.getItemAt(i); 
... 
Container(currentContact.parent).setStyle("backgroundColor","Yellow"); 

然而,設置樣式這種方式可以是昂貴的http://livedocs.adobe.com/flex/3/html/help.html?content=styles_08.html