设置显式宽度后,将flex标签宽​​度重置为“auto”?

时间:2009-10-12 14:15:52

标签: flex actionscript-3 layout label

一旦我在flex标签上设置了widthpercentWidth属性,是否有办法将宽度重置为默认值(即文本的宽度加上填充)?

我正在使用标签作为渲染器。在某些情况下,我希望它能自动调整大小,在其他情况下,我希望它是容器的百分比宽度。显然,我可以使用两个单独的标签,一个用于上述每种情况,但我很好奇是否可以将标签重置为默认行为。

2 个答案:

答案 0 :(得分:8)

label.width = NaN;
//not sure if the following lines are required
label.invalidateSize();
label.width = label.measuredWidth;

来自flex livedocs

  

当您设置组件的特定高度和宽度时,即使您显式调用invalidateSize()方法,Flex也不会调用measure()方法。也就是说,如果组件的explicitWidth属性或explicitHeight属性为NaN,则Flex仅调用measure()方法。

答案 1 :(得分:1)

将宽度设置为undefined:

yourLabelId.width = undefined;