我知道这听起来像是一个非常明显的问题,但事实证明这比我想象的更难。我正在开发Flash 8 / ActionScript 2.0。
我有一个标签组件,我正在从xml文档中动态分配文本。例如:
label.text = "<b>" + xml_node.firstChild + "</b>";
这成功地将标签的文本更改为该XML节点中的任何内容,并且因为我启用了HTML,所以它使其变为粗体。但是,我想增加标签字体的大小,使用<font>
标签将无效。
我错过了什么吗?如何使字体变大? ActionScript非常挑剔!
答案 0 :(得分:2)
当您说“标签组件”时,您的意思是Flex 2标签还是TextField?
在后一种情况下,字体标记应该可以正常工作。例如,将字体设置为24px文本。如果没有,您可以使用样式表类指定字体大小,然后将其分配给TextField。
对于Flex 2标签,请使用label.setStyle(“fontSize”,24)将其设置为24px文本。
答案 1 :(得分:1)
感谢大家的投入!阅读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。
答案 2 :(得分:0)
我不能肯定地说,但我认为您可能需要设置Label的fontSize样式。
答案 3 :(得分:0)
如果你有一个像Arial,Verdana或Times New Roman这样的网络就绪字体,那么字体标签真的只会起作用,即便如此它仍然有点傻。很多时候AS通常只会忽略字体标记,至少这是我遇到过的。如果要格式化文本,我会使用TextFormat类来操作文本,而不是尝试通过HTML标记设置它。除非你设置HTML标签,因为它确实是用CSS格式化的?
在这种情况下,我会通过并确保您的文本字段设置为HTML标记。我会尝试使用label.htmlText而不是使用label.text?它确实可以是任何数量的问题......