Отображение HTML-текста в Spark TextArea - PullRequest
3 голосов
/ 24 июля 2010

Код ниже работает хорошо ...

<?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" >
 <fx:Declarations>
  <mx:HTTPService id="httpRSS" url="http://www.petefreitag.com/rss/" resultFormat="object" />
 </fx:Declarations>
  <s:Panel id="reader" title="Blog Reader" width="500">
  <mx:DataGrid width="485" id="entries" dataProvider="{httpRSS.lastResult.rss.channel.item}" click="{body.htmlText=httpRSS.lastResult.rss.channel.item[entries.selectedIndex].description}">
   <mx:columns>
    <mx:DataGridColumn dataField="title" headerText="TITLE"/>
    <mx:DataGridColumn dataField="pubDate" headerText="Date"/>    
   </mx:columns>
  </mx:DataGrid>
  <mx:TextArea id="body" editable="false" width="485" x="3" y="142" height="155"/>
 </s:Panel>
 <s:Button label="Load" x="10" y="329" click="{httpRSS.send()}"/>
 </s:Application>

Но когда Textarea изменяется на искровое Textrea, как показано ниже

<s:TextArea id="body" editable="false" width="485" x="3" y="142" height="155"/>

Тогда htmlText не поддерживает Spark Textarea. Отсюда выдает ошибку. Как можно отобразить HTML-форматированный текст с помощью свойства Text Text Area.

Ответы [ 7 ]

5 голосов
/ 12 апреля 2011

Если вы используете вместо этого компонент RichEditableText , вы можете сделать это таким образом, используя класс TextConverter

var myStr:String = "I contain <b>html</b> tags!";           
myRichEditableText.textFlow = TextConverter.importToFlow(myStr, TextConverter.TEXT_FIELD_HTML_FORMAT);
3 голосов
/ 23 апреля 2011

Может также использоваться в искре textArea:

var myStr: String = "Я храню html тегов!";
textAarea.textFlow = TextConverter.importToFlow(myStr, TextConverter.TEXT_FIELD_HTML_FORMAT);

Это иногда не будет работать, если HTML-код большой и имеет некоторые теги, которые нельзя отобразить TextFlowUtil.importFromString (yourHTMLString);

1 голос
/ 22 ноября 2010

body.textFlow = TextFlowUtil.importFromString (yourHTMLString);

1 голос
/ 29 июля 2010

Проверьте свойство содержимого в документах TextArea . Обратите внимание на пример в конце страницы ... он показывает, как встраивать HTML.

0 голосов
/ 13 февраля 2013

Можно также использовать:

(myTextArea.textDisplay as StyleableTextField).htmlText = text;
0 голосов
/ 22 ноября 2010

У Дэвида Гасснера Flashbuilder 4 & Flex 4 есть раздел на эту тему. Взгляните на TextFlowUtil. Если вы хотите встроить HTML-код непосредственно в Spark TextArea (или RichText / RichEditableText), вы можете использовать тег содержимого как дочерний, а затем добавить теги p или span. Поддерживаемые теги HTML также являются частью пространства имен s.

0 голосов
/ 24 июля 2010

Не думаю, что ты можешь. Вам следует придерживаться использования компонента Halo TextArea или изучить структуру Text Layout Framework для достижения ваших целей.

...