我目前在FLEX 3 HTMLTEXT上有两个问题。

1)当我设置文本的htmltext时:

myText.htmlText =u003Chtml text stored in my mysql database>

它计算出错误的高度。在大多数情况下,在文本上方和下方添加了大量的填充(或空格)。我不确定发生了什么,但是它计算出比静往常高的特殊方式。

2)如果我将u003Cspan>标签放在HTML中,它会自动将它们剥离(而不是忽略它们)。我正在使用跨度标签来动态地找到文本的某些片段。例如:u003C/span>

u003Cspan class="salutation">亲爱的,u003C/span> u003Cspan class="tag">[名字]u003C/span>

插入我的htmltext中,我用它们来解析可变数据的称呼和标签。

有人知道这两个问题有任何解决方案吗?关于如何解析HTML的其他想法?有什么方法可以改善HTMLTEXT?如何正确测量Textheight和/或删除填充物?

谢谢!

有帮助吗?

解决方案

基本上,标签需要明确设置宽度和高度,以便flex正确计算这些元素上的高度。另外,您可以使用:

invalidateSize();
validateSize();

强制尺寸验证发生,有时会有所帮助!

其他提示

  1. 在使用任何XML之前,请添加这两行:

    XML.ignoreWhitespace = true;
    XML.prettyPrinting = false;
    

    这应该照顾您的文本上方和下方的附加线路。

    忽略空格 条带从文本节点引导和尾随的空格。
    漂亮的印刷, ,当设置为true时,格式化XML输出,缩进节点并添加newline字符以使其更可读性,但也会影响文本输出。例如,当您有这样的结构时:

    <p><span class="test">This is a test.</span></p>
    

    闪光灯将输出:

    <p>
        <span class="test">
            This is a test.
        </span>
    </p>
    

    这导致您的Textfield显示:

    (newline)
    (newline)
    This is a test.
    (newline)
    (newline)
    
  2. 闪存插件将删除任何HTML标签,如果 styleSheet 属性无法正确设置。因此,在您的情况下,它将删除 <span> 标签并添加自己的 <P><FONT> 标签,根据您使用的任何字体信息 defaultTextFormat 或者 setTextFormat (设置它后,尝试跟踪HTMLTEXT - 您会看到)。您必须设置Textfield的 styleSheet 如果您想保留自己的标签,请属于实际样式表。

  3. 通过使用HTML标签来解析所需的信息是有效的方法。我通常使用编号占位符,例如{0}和 string.replace () 插入动态值。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top