如何使Flex Spark Label自动调整大小?

时间:2011-03-11 19:04:54

标签: flex label flex4 autosize flex-spark

我正在创建像这样的标签组件

var label:Label = new Label();
label.text = "some text";
label.styleName = "someStyle";
addChild(label);

但在我明确设定宽度和高度之前,它一直不可见 如何根据文本自动调整标签大小?

3 个答案:

答案 0 :(得分:4)

我找到了问题here的答案 解决方案是为标签

调用measureText()函数
var lineMetrics:TextLineMetrics = label.measureText(label.text);
label.width = lineMetrics.width;
label.height = lineMetrics.height;

答案 1 :(得分:3)

我也注意到上面的答案似乎不适用于火花组件。但这对我有用。

label.width = label.measuredWidth; label.height = label.measuredHeight;

答案 2 :(得分:1)

您应该可以使用label.percentWidth = 100;来允许标签随文本自动增长。如果您希望它保持单行,您还需要设置maxDisplayedLines = 1;属性。

您可能还想使用addElement(label)代替addChild(label)