Flex 3: выделение (изменение фона) некоторых символов в строке - PullRequest
1 голос
/ 10 февраля 2012

Я внедряю список контактов во Flex 3, и я прямо сейчас уже применил фильтрацию списка для отображения результатов. Тем не менее, я хотел бы выделить совпадающие символы в результатах, возможно ли это сделать? Пример:

enter image description here

Ответы [ 2 ]

0 голосов
/ 11 января 2013

Чтобы изменить цвет фона, просто поместите объект Label или Text внутри HBox.

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

Затем установите backgroundColor на HBox, который вы можете ссылаться как родительский элемент Label #.Поскольку вы создаете динамический список контактов, я предполагаю, что они есть в массиве и циклически перебираются по массиву, чтобы проверить, соответствует ли имя

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

0 голосов
/ 10 февраля 2012

Вы можете использовать эту библиотеку. Посмотрите пример от gskinner. Вы также можете использовать setTextFormat, чтобы изменить формат некоторых символов, но при таком подходе вы не сможете изменить цвет фона текста. Если вам не нужно менять цвет фона и достаточно просто подчеркнуть, используйте текстовый формат или TextRange.

Если вам нужен 100% -ный раствор, просто покопайтесь в решении, подобном , или прочитайте более старый, но хороший пост Надеюсь, это даст вам представление, с чего начать.

...