2016-08-01 53 views
0

我試圖在點擊文本區域時生成粗體文本。我究竟做錯了什麼?爲什麼TextFormat無法在TextArea上工作?

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

你可以在這裏閱讀Adobe官方文檔:http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextFormat.html,爲你最有趣的部分是:

使用要應用格式的TextField.defaultTextFormat屬性 在添加t之前ext添加到TextField中,並使用setTextFormat()方法 在添加文本到TextField之後添加格式。

所以,如果你想要的文字的「Hello World」要大膽,你必須按如下應用的TextFormat:

lblText.setTextFormat(format); 
+0

感謝,但我使用它的文本區域,而不是一個文本字段。我試過設置lblTest.text =「Hello world!」在我設置了格式屬性後,它仍然沒有顯示出來。 – Justin

1

不幸的是,對於文本區域沒有textFormat風格。使用如下fontWeightbold

lblTest.setStyle("fontWeight", "bold"); 
相關問題