我知道这听起来像是一个非常明显的问题,但事实证明这比我想象的更难。我正在开发Flash 8 / ActionScript 2.0。

我有一个标签组件,我正在从xml文档中动态分配文本。例如:

label.text = "<b>" + xml_node.firstChild + "</b>";

这成功地将标签的文本更改为该XML节点中的任何内容,并且因为我启用了HTML,所以它使其变为粗体。但是,我想增加标签字体的大小,使用<font>标签将无效。

我错过了什么吗?如何使字体变大? ActionScript非常挑剔!

有帮助吗?

解决方案 2

感谢大家的投入!阅读David Arno的帖子后,我想出来了。这就是我在做的事情。

label.text = "<b><font size=24>" + xml_node.firstChild + "</font></b>";

这是有效的:

//note the 'single quotes' around the 24
label.text = "<b><font size='24'>" + xml_node.firstChild + "</font></b>";

我只是尝试了不同的方式在那里键入24,单引号有效。另外,不要忘记从标签的“参数”选项卡中将HTML设置为true。

其他提示

当您说<!> quot; label component <!>“;时,您是指Flex 2标签还是TextField?

在后一种情况下,字体标记应该可以正常工作。例如,将字体设置为24px文本。如果没有,您可以使用样式表类指定字体大小,然后将其分配给TextField。

对于Flex 2标签,请使用label.setStyle(<!> quot; fontSize <!> quot;,24)将其设置为24px文本。

我不能肯定地说,但我认为您可能需要设置Label的fontSize样式。

如果你有一个像Arial,Verdana或Times New Roman这样的网络就绪字体,那么字体标签真的只会起作用,即便如此它仍然有点傻。很多时候AS通常只会忽略字体标记,至少这是我遇到过的。如果要格式化文本,我会使用TextFormat类来操作文本,而不是尝试通过HTML标记设置它。除非你设置HTML标签,因为它确实是用CSS格式化的?

在这种情况下,我会通过并确保您的文本字段设置为HTML标记。我会尝试使用label.htmlText而不是使用label.text?它确实可以是任何数量的问题......

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