计算Spark TextArea宽度

时间:2010-11-03 10:54:29

标签: flex width textarea flex-spark

我将spark TextArea视为文本输入(通过设置heightInLines =“1”)。 TextArea是mxml组件的一部分,我想在更改文本时调整组件的大小。

我无法使用textArea.measureaText(textArea.text)获取行指标并使用它。我收到此错误“参数antiAliasType必须为非null。”

有没有办法获得TextArea在运行时为特定字符串或特定TextFlow消耗的宽度?

1 个答案:

答案 0 :(得分: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;

那应该是全部