У меня есть страница поиска и результатов, на которой я хотел бы выделить ключевые слова, которые были найдены в тексте результатов. Было предложено использовать TextLine для этого, но мне трудно понять, как заставить его работать. Я начал простой, компилируемый манекен приложения и надеялся, кто-то может дать мне несколько советов о том, как продолжить:Flex 4 - Выделите ключевые слова в блоке текста с помощью TextLine
<?xml version="1.0" encoding="utf-8"?>
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
initialize="initApp();">
<fx:Script>
import flash.display.Sprite;
import flash.text.engine.*;
private var textLine:TextLine;
private function initApp():void {
var normalFormat:ElementFormat = new ElementFormat(null, 12, 0x000000);
var highlightFormat:ElementFormat = new ElementFormat(null, 14, 0xff0000);
var textBlock:TextBlock = new TextBlock(new TextElement("This is text that has KEYWORDS. I would like to highlight these KEYWORDS by changing their font color and adding a light yellow background graphic.", normalFormat));
textLine = textBlock.createTextLine();
textLine.y = 100;
embeddedFontHolder.addChild(textLine);
}
</fx:Script>
<mx:UIComponent width="100%" id="embeddedFontHolder" />
</s:Application>
Кто-нибудь есть какие-нибудь идеи?
Приветствия, Баз
Хм. Я этого не знал. Тем не менее, я лично считаю, что вам лучше использовать css, потому что теперь вы должны изменить класс action-script, чтобы изменить стиль выделенных слов. С помощью css у вас есть более четкое разделение логики пользовательского интерфейса и формата пользовательского интерфейса. – Treur