2010-11-03 136 views
0

我正在處理一個Spark TextArea作爲文本輸入(通過設置heightInLines =「1」)。 TextArea是mxml組件的一部分,我想在文本更改時調整組件的大小。計算Spark TextArea寬度

我還沒有能夠使用textArea.measureaText(textArea.text)來獲取行度量並使用它。我得到這個錯誤「參數antiAliasType必須是非空的。」

有沒有什麼辦法可以獲得TextArea的寬度,它將在運行時爲特定的字符串或特定的TextFlow使用?

回答

0

有點醜,但對我的作品:

var uiText:UItextField = new UITextField(); 

// if you have custom text style on the TextArea then set it the same of this uitextfield 
uiText.setTextFormat("bla bla bla"); 

uiText.text = "This is the text that I want the size for"; 

var textW:Number = uiText.textWidth; 
var textH:Number = uiText.textHeight; 

// then we need to consider also the border of the text area and the paddings 
// try read the padding values and border sizes using getStyle(...) 

myTextArea.width = textW+2*borderW+paddingL+paddingR; 
myTextArea.height = textH+2*borderH+paddingT+paddingB; 

這應該是所有