flex 3 HTMLTEXT计算高度错误和条纹跨度标签
-
10-10-2019 - |
题
我目前在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();
强制尺寸验证发生,有时会有所帮助!
其他提示
在使用任何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)
闪存插件将删除任何HTML标签,如果
styleSheet
属性无法正确设置。因此,在您的情况下,它将删除<span>
标签并添加自己的<P>
和<FONT>
标签,根据您使用的任何字体信息defaultTextFormat
或者setTextFormat
(设置它后,尝试跟踪HTMLTEXT - 您会看到)。您必须设置Textfield的styleSheet
如果您想保留自己的标签,请属于实际样式表。通过使用HTML标签来解析所需的信息是有效的方法。我通常使用编号占位符,例如{0}和
string.replace ()
插入动态值。