2012-02-13 3 views
0

일반적으로 Flex 및 Spark 컨테이너의 크기를 자녀와 관련시켜 결정하는 확실한 방법을 아직 찾지 못했습니다. 나는이 개념에 대한 좋은 문서를 여러 번 찾았지만 개념을 충분히 설명하는 것을 찾지 못했습니다.Flex/Spark UI 요소의 크기가 결정되는 방법에 대한 이해가 필요합니다.

내가 자주하고 싶은 간단한 예제는 컨트롤 집합 주위에 테두리를 균일하게 그립니다. 목표는 모든 UI 요소의 크기를 자동으로 조정하는 것입니다.

<s:BorderContainer> 
    <s:HGroup> 
    <s:Label text="l1" /> 
    <s:Label text="very long label 2" /> 
    </s:HGroup> 
</s:BorderContainer> 

나는 자신이 text 속성을 기준으로 크기로 Labels을 할 것이며, 라벨을 포함하는 데 필요한 및 BorderContainer는 단지 HGroup 것을 포함한다으로 HGroup는 큰해야한다.


지금이 간단한 예 또는 원하는대로, 나는 아직 출력 코드를 시도하지 않고 모양을 결정하는 방법을 생각하지 않은 작동하지 않을 수 있습니다. 누군가이 프로세스를 이해하는 좋은 방법을 알고 있으므로 결정적으로 상황이 어떻게 나타날지 알 수 있습니까?


이제 더 복잡한 예제를 지금 다루고 있습니다. BorderContainer을 확장하는 클래스가 있습니다. 수업 내에서 나는 HGroup의 자식으로 5 Labels과 함께 HGroup을 만듭니다. 그런 다음 HGroupExtendedBorderContainer (addElement() 방법 사용)의 하위 항목으로 추가됩니다. 그런 다음 새 클래스가 같은 응용 프로그램에서 사용되는

:

<mx:ViewStack> 
    <s:NavigatorContent> 
    <my:ExtendedBorderContainer /> 
    </s:NavigatorContent> 
    <!-- more NavigatorContents here --> 
</mx:ViewStack> 

나는 다양한 [max|min]height/width 조합을 시도하고 나는부터 외부 공간없이 요소 주위에 아주 꽉 국경입니다 원하는 레이아웃을 얻을 수 없다 가장 깊은 Label 어린이는 NavigatorContent까지 줄곧 있습니다. 여기

답변

0

봐는 : http://livedocs.adobe.com/flex/3/html/help.html?content=size_position_3.html

당신의 문제가 무엇인지 분명하지 않다. 질문의 첫 번째 부분에 대해 : "원하는대로 작동하지 않을 수도 있습니다"라는 말은 무엇을 의미합니까? 이 예제는 당신이 기술 한 레이아웃을 가지고 작동해야합니다. 레이블 크기 자체는 텍스트 속성을 기반으로합니다. 어떤 행동을합니까?

두 번째 부분 : 레이아웃이 일반적으로 괜찮지 만 항목 사이에 간격이 더 있으면 컨테이너의 패딩 및 간격 속성을 확인하십시오. 일부 컨테이너는 기본값이 아닌 패딩과 간격이 0이 아니므로 수동으로 재정의해야합니다.