Actionscript Flex 3 htmlText计算高度时出错,并删除跨度标记
我目前在Flex 3 htmlText上有两个问题 1) 设置文本的htmlText时: myText.htmlText= 它错误地计算了高度。在大多数情况下,文本的上方和下方都会添加大量的填充(或空白)。我不确定会发生什么,但它计算的文本高度比正常情况下要高 2) 如果我在html中放入标记,它会自动将它们删除(而不是忽略它们)。我正在使用span标记来动态查找文本的某些部分。例如: 亲爱的[名字] 插入到我的htmlText中,我使用它们解析出变量数据的称呼和标记 有人知道这两个问题的解决方案吗?关于如何解析html片段,有其他的想法吗?有没有办法改进htmlText?如何正确测量文本高度和/或删除填充 谢谢Actionscript Flex 3 htmlText计算高度时出错,并删除跨度标记,actionscript,flex3,htmltext,Actionscript,Flex3,Htmltext,我目前在Flex 3 htmlText上有两个问题 1) 设置文本的htmlText时: myText.htmlText= 它错误地计算了高度。在大多数情况下,文本的上方和下方都会添加大量的填充(或空白)。我不确定会发生什么,但它计算的文本高度比正常情况下要高 2) 如果我在html中放入标记,它会自动将它们删除(而不是忽略它们)。我正在使用span标记来动态查找文本的某些部分。例如: 亲爱的[名字] 插入到我的htmlText中,我使用它们解析出变量数据的称呼和标记 有人知道这两个问题的解决
XML.ignoreWhitespace = true;
XML.prettyPrinting = false;
这应该注意文本上方和下方添加的行
从文本节点中去除前导和尾随空格。,设置为true时,格式化XML输出,缩进节点并添加换行符以使其更具可读性,但也会影响文本输出。例如,当您有这样的结构时:
<p><span class="test">This is a test.</span></p>
样式表
属性设置不正确,Flash插件将删除所有HTML标记。因此,在您的情况下,它将删除
标记,并根据您使用defaultTextFormat
或setTextFormat
指定的任何字体信息,添加自己的
和
标记(设置后尝试跟踪htmlText,您会看到)。如果要保留自己的标记,必须将TextField的样式表属性设置为实际的样式表
string.replace()
插入动态值基本上,标签需要显式设置宽度和高度,以便flex正确计算这些元素上的高度。此外,您还可以使用:
invalidateSize();
validateSize();
强制进行大小验证,这有时会有所帮助 我不确定我是否理解第一部分。如果我有以下代码:If(dataProvider.allowStyles){mainText.htmlText=dataProvider.defaultText;}我将把XML.ignoreWhitespace和另一行放在哪里,它们将如何更改mainText的htmlText?谢谢你的建议!最好将它们放在主类的构造函数中。它们改变了Flash插件处理XML输入的方式:ignoreWhitespace从文本节点中删除前导和尾随空格,预打印在将XML转换为字符串时自动缩进并格式化XML,这在某些情况下会伪造文本输出。我将其添加到默认应用程序文件(Editor.mxml)的initializeHandler中。这并不能解决我遇到的问题:(你能从数据库中发布一个“真实”的xml示例吗?只要结构合适,你就可以用Lorem ipsum替换所有可读文本。
(newline)
(newline)
This is a test.
(newline)
(newline)
invalidateSize();
validateSize();