如何在动作脚本中更改textarea的颜色?

时间:2008-10-06 16:17:07

标签: flash actionscript skinning

我在actionscript中创建了一个TextArea:

var textArea:TextArea = new TextArea();

我希望它有黑色背景。我试过了

textArea.setStyle("backgroundColor", 0x000000);

我试过

textArea.opaqueBackground = 0x000000;

但TextArea保持白色。我该怎么办?

2 个答案:

答案 0 :(得分:4)

TextArea是一个使用TextField和其他Flash内置类和UIComponents构建的UI组件。与大多数Adobe UI组件一样,设置属性时似乎没有任何内容。要设置TextArea中文本后面区域的颜色,您需要使用textField属性实际设置其内部TextField的不透明背景:

var textArea:TextArea = new TextArea()
textArea.textField.opaqueBackground = 0x000000;

当然现在背景为黑色,文字也不能是黑色,所以我们使用新的TextFormat改变颜色:

var myFormat:TextFormat = new TextFormat();
myFormat.color = 0xffffff;
textArea.setStyle("textFormat",myFormat);

然后只需设置文本并添加到舞台:

textArea.text = "hello";
addChild(textArea); 

此外,如果你想要更多的控制,这里有一个很好的扩展类,它解决了TextArea的很多问题:

http://blog.bodurov.com/Post.aspx?postID=14

答案 1 :(得分:1)

这对我有用,这是我在查看更新的AC3文档后自己发现的

TextArea - 背景颜色,2011 AC3

让我永远意识到在AC3中,截至目前(2011年),他们正式告诉你使用spark TextArea代替mx

s:TextArea代替mx:TextArea

<s:TextArea
id="joy_text"
color="0xFF0000"
contentBackgroundColor="0x000000"
text = "joy"
/>

请注意

color = font color

确保包含在您的命名空间中:(在.mxml文件的顶部)

xmlns:s="library://ns.adobe.com/flex/spark"