2011-03-11 4 views
1

나는이Flex Spark Label을 자동 크기 조정하는 방법은 무엇입니까?

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

처럼 Label 구성 요소를 만드는거야하지만 명시 적으로 설정 폭과 높이까지 눈에 보이지 않는있어.
라벨을 텍스트 크기에 맞게 자동으로 조정하려면 어떻게해야합니까?

+0

크기를 어떻게 조정 했습니까? 두 번째 줄로 감싸고 싶습니까? 모든 것을 한 줄로 유지 하시겠습니까? –

+0

한 줄을 말하십시오 – GetUsername

답변

4

는 내 질문에 대한 답을 발견했습니다 here
이 솔루션은 라벨

var lineMetrics:TextLineMetrics = label.measureText(label.text); 
label.width = lineMetrics.width; 
label.height = lineMetrics.height; 
+0

이것은 Spark 구성 요소에 대해 작동하지 않습니다 ... – Dan

+0

내 Spark 레이블과 작동합니다. – Mario

1

label.percentWidth = 100;을 사용하면 텍스트와 함께 라벨이 자동으로 커지도록 할 수 있습니다. 한 줄에두기를 원하면 maxDisplayedLines = 1; 속성도 설정하는 것이 좋습니다.

addChild(label) 대신 addElement(label)을 사용할 수도 있습니다.

+0

그래도 작동하지 않습니다. 레이블은 보이지 않습니다. 게다가 컴포넌트의 너비를 100 %로 설정하면 자동으로 크기가 조정됩니까? – GetUsername

+0

자동 크기 조정은 아니지만 레이블의 너비를 컨테이너 너비로 설정합니다. 코드를 좀 더 볼 수 있다면 도움이 될 것입니다. 컨테이너에 레이블을 추가 한 후에'label.validateNow()'를 호출 해 볼 수도 있습니다. –

3

위해 나는 또한 위의 대답은 작동하지 않는 것 나타났습니다의 measureText() 함수를 호출하는 것입니다 스파크 구성 요소. 그러나 이것은 나를 위해 일한다.

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

관련 문제