我试图在单击文本区域后生成粗体文本。我做错了什么?
HelloWorld.mxml的
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="800" height="800">
<mx:Script source="HelloWorldAS.as" />
<mx:VBox width="70%" height="70%" label="Container">
<mx:TextArea id="lblTest" verticalScrollPolicy="off" focusThickness="0" borderThickness="0" borderStyle="none" editable="true" fontFamily="Arial" fontSize="14" width="100%" height="100%" click="areaClick()"/>
</mx:VBox>
</mx:Application>
HelloWorldAS.as
// ActionScript file
import flash.text.TextField;
import flash.text.TextFormat;
public function areaClick() : void{
lblTest.text = "Hello world!";
var format:TextFormat = new TextFormat();
format.bold=true;
lblTest.setStyle("textFormat", format);
lblTest.validateNow();
}
答案 0 :(得分:1)
不幸的是TextArea没有textFormat
样式。使用fontWeight
作为bold
,如下所示:
lblTest.setStyle("fontWeight", "bold");
答案 1 :(得分:0)
你可以在这里阅读官方的adobe文档:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextFormat.html,最有趣的部分是:
使用TextField.defaultTextFormat属性应用格式 在将文本添加到TextField和setTextFormat()方法之前 在将文本添加到TextField之后添加格式。
所以,如果你想要文字&#34; hello world&#34;要加粗,您必须按如下方式应用TextFormat:
lblText.setTextFormat(format);