-1

我正在尝试为 Flex Mobile 应用程序创建一个组件,该组件允许我拥有一个带有文本环绕的图像,这在文章或博客文章中很常见。使用 HTML,这可以通过一个标签来完成,例如:

<image align='right' /> associated text...

我尝试创建为:TextArea,并将其文本设置为 HTML 字符串,如下所示:

StyleableTextField(textArea.textDisplay).htmlText = htmlString

但是这种方法似乎不支持图像。我可以使用单独的图像和文本组件,但是文本不会以我想要的方式环绕图像。

任何人都可以提出更好的方法吗?

4

1 回答 1

0

这可以使用 来执行TextFlow,显示为:

文本流

用作composer来组装html:TextConverter importToFlow()

<?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">

    <fx:Script>
        <![CDATA[
            import flashx.textLayout.conversion.TextConverter;
            import flashx.textLayout.elements.TextFlow;

            private const text:String = "<img src='http://www.google.com/images/srpr/logo4w.png' " +
                "align='right' width='138' height='48' />Lorem ipsum dolor sit amet, " +
                "consectetur adipiscing elit. Nunc sodales posuere elit nec convallis. " +
                "Vivamus lacinia consectetur tortor, in convallis diam ornare sit amet. " +
                "Morbi volutpat volutpat aliquet. Praesent hendrerit nibh et magna feugiat " +
                "laoreet. Maecenas congue rhoncus tincidunt. Aliquam libero dui, scelerisque " +
                "eu convallis at, consectetur vitae dolor. Nunc quis posuere tellus.";
        ]]>
    </fx:Script>

    <s:RichEditableText editable="false"
                        selectable="true"
                        textFlow="{TextConverter.importToFlow(text, TextConverter.TEXT_FIELD_HTML_FORMAT)}"
                        buttonMode="true"
                        width="100%"
                        height="100%" />

</s:Application>

请注意,AIR 也有StageWebView,它使用设备操作系统提供的系统 Web 控件。

于 2013-05-26T22:26:21.660 回答