Сбросить ширину гибкой метки на «авто» после установки явной ширины? - PullRequest
5 голосов
/ 12 октября 2009

После того, как я установил свойство width или percentWidth на гибкой метке, есть ли способ восстановить ширину по умолчанию (т. Е. Ширину текста плюс отступы)?

Я использую метку как средство визуализации. В некоторых случаях я хотел бы, чтобы он автоматически изменял размер текста, а в других случаях я хотел бы, чтобы он был в процентах от ширины контейнера. Очевидно, что я мог бы использовать две отдельные метки, по одной для каждого из вышеуказанных случаев, но мне любопытно, можно ли сбросить метку к ее поведению по умолчанию.

Ответы [ 2 ]

8 голосов
/ 13 октября 2009
label.width = NaN;
//not sure if the following lines are required
label.invalidateSize();
label.width = label.measuredWidth;

С flex liveocs

Когда вы устанавливаете конкретную высоту и ширину компонента, Flex не вызывает метод measure (), даже если вы явно вызываете метод invalidateSize (). То есть, Flex вызывает метод measure () только в том случае, если для свойства visibleWidth или visibleHeight компонента установлено значение NaN.

1 голос
/ 12 октября 2009

Установить ширину неопределенной:

yourLabelId.width = undefined;

...