我将spark TextArea视为文本输入(通过设置heightInLines =“1”)。 TextArea是mxml组件的一部分,我想在更改文本时调整组件的大小。
我无法使用textArea.measureaText(textArea.text)获取行指标并使用它。我收到此错误“参数antiAliasType必须为非null。”
有没有办法获得TextArea在运行时为特定字符串或特定TextFlow消耗的宽度?
答案 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;
那应该是全部