我正在尝试在textInput组件上设置textFormat。像这样:
var testText:TextInput = new TextInput();
testText.text = "TESTING";
addChild(testText);
var tf:TextFormat = new TextFormat();
tf.leftMargin = 50;
tf.size = 20;
tf.color = 0xFF0000;
testText.setStyle("textFormat", tf);
根据adobe documentation(以及网上的众多例子),这应该是可行的。然而,文本从未应用其风格。我尝试过使用spark和MX TextInput(甚至是TextArea)但结果总是一样的。我错过了什么吗?或者这不再是受支持的操作?
答案 0 :(得分:2)
注意有3个TextInput
类。
fl.controls.TextInput - 这是来自Flash Professional,在Flex应用中并不是很有用。它是具有“textFormat”风格的那种(Flex的没有这种风格)。
mx.controls.TextInput - 来自Flex 3 SDK的旧版Flex组件
spark.components.TextInput - Flex 4 SDK中组件的Spark版本
最后两个没有“textFormat”样式,因此上面的代码无效。
您可以使用Flex组件支持的各个样式,而不是尝试使用“textFormat”样式...这些在Actionscript中应用有些繁琐,但在MXML中很容易。我链接到的文档有一个样式部分,您可以在其中查看可应用于文本的样式...
AS3:
var t:TextInput = new TextInput();
t.setStyle("fontSize", 18);
t.setStyle("color", 0xFF0000);
MXML:
<s:TextInput fontSize="18" color="0xFF0000" />