2009-06-24 4 views
0

나는이 같은 시나리오에는이 : 아이 Vbox-> Canvas-> Sprite-> TextFlow의이플렉스 TextFlow를 dyniamic 높이

에 부모를이 시나리오에는에서 지금은 TextFlow를 &의 동적 높이를 가질 필요가 그 부모. 여기 루트 부모는 내가 가진 DataGrid의 itemrenderer입니다.

행의 높이가 내용에 따라 조정해야합니다.

지금 xml을 textflow로 가져온 다음 줄 수, 텍스트 높이를 가져옵니다. 그런 다음 텍스트 열 &을 제거하고 줄 수 & 텍스트 높이에 따라 측정 된 높이를 다시 추가하십시오.

&을 다시 추가하지 않고 어떻게 달성 할 수 있습니까? 업데이트하는 데 많은 시간이 필요합니까?

미리 감사드립니다.

+0

flex4 또는 검보 또는 플래시 빌더로 태그해야합니다 (다른 이름이 누락 되었습니까?). Textflow는 flex 3 프레임 워크의 일부가 아닙니다 ... – Shua

+0

실제로 Shua는 Flex 3에서 TextFlow를 사용할 수 있습니다. – mico

답변

0

이 답변에 약간의 시간이 걸릴 수도 있지만 다른 사람에게 도움이 될 수 있습니다. TextFlow 및 스프라이트가있는 캔바스 또는 표시 객체에서 creationComplete functon을 추가합니다.

이 단계가 필요한지는 확실치 않지만 잘 작동합니다. TextFlow로 이동하는 텍스트가있는 레이블을 추가하고 (동일한 글꼴 및 fontSize 사용) 작성 완료 리스너를 추가합니다.

새롭게 생성 된 레이블 e.target.width e.target.height (레이블을 생성하는 함수에서)에서 높이와 너비를 가져옵니다. 위의 캔버스에서 displayObjects 높이와 너비를이 값으로 설정 한 다음 계속 진행하여 스프라이트와 텍스트 흐름을 추가합니다.

참고 :이 방법은 나에게 게으른 방식이며, label은 measureText를 사용합니다.이 방법은보다 효율적인 방법입니다.