2016-06-22 4 views
0

다음 코드에서 주변 그룹 (주변 그룹 1 & 주변 그룹 2)과 2 개의 동일한 bordercontainers (bordercontainer1 & bordercontainer2)를 볼 수 있습니다.그룹이 기본 구성 요소의 최대 너비를 무시합니다.

bordercontainers의 최대 너비는 250 픽셀이고 너비는 100 %입니다. 기본적으로 공간의 최대 250 픽셀을 차지하고 싶지만 사용 가능한 공간이 적다면 가능한 한 많이 차지하십시오. 내가 설정 생각

enter image description here

을 :

<?xml version="1.0" encoding="utf-8"?> 
<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx"> 
    <s:HGroup id="maingroup" width="100%"> 
     <s:Group id="surroundinggroup1"> 
      <s:BorderContainer id="bordercontainer1" height="50" maxWidth="250" width="100%"> 
       <s:Label text="test"/> 
      </s:BorderContainer>   
     </s:Group> 
     <s:Group id="surroundinggroup2"> 
      <s:BorderContainer id="bordercontainer2" height="50" maxWidth="250" width="100%"> 
       <s:Label text="test"/> 
      </s:BorderContainer>   
     </s:Group> 
    </s:HGroup> 
</s:WindowedApplication> 

문제는 surroundinggroups 맞는 레이블이 "테스트"를 포함하도록 최대 너비를 무시하고 bordercontainer을 그리는 데 필요한 최소 폭을 사용하는 것이다 주변 그룹의 너비를 100 %로 설정하면이 문제가 해결되지만 주위 그룹이 가능한 한 많은 공간을 차지하여 두 테두리 컨테이너 사이에 간격이 생깁니다.

enter image description here

유일한 해결책은 surroundinggroups을 제거하는 것 같다, 다음 레이아웃은 내가 원하는대로입니다 그것은 :

enter image description here 여기서 문제는 실제 응용 프로그램에서,이 surroundinggroups는 다른 포함되어 있다는 것입니다

구성 요소 및 논리. 그것들을 제거하면 꽤 다른 변화가 생길 수 있습니다. 이러한 주변 그룹을 유지하면서 원하는 결과 (이미지 3)를 얻을 수있는 방법이 없습니까?

답변

1

이 트릭을 수행해야합니다. 어떤 이유로 주변 그룹의 크기 제한을 원하지 않는다고 생각했지만 그건 내 머리 속에 있습니다. 나는 maxWidth와 100 %를 surroudinggroups로 옮겼다. Bordercontainer width = "100 %"또한 당신이 원하는 것에 중요하다.

<s:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009" 
         xmlns:s="library://ns.adobe.com/flex/spark" 
         xmlns:mx="library://ns.adobe.com/flex/mx"> 
    <s:HGroup id="maingroup" width="100%" > 
     <s:Group id="surroundinggroup1" maxWidth="250" width="100%"> 
      <s:BorderContainer id="bordercontainer1" height="50" width="100%"> 
       <s:Label text="test"/> 
      </s:BorderContainer>   
     </s:Group> 
     <s:Group id="surroundinggroup2" maxWidth="250" width="100%"> 
      <s:BorderContainer id="bordercontainer2" height="50" width="100%"> 
       <s:Label text="test"/> 
      </s:BorderContainer>   
     </s:Group> 
    </s:HGroup> 
</s:WindowedApplication> 
+0

아니요, 최대 250 픽셀의 공간을 사용하고 싶지만 사용 가능한 공간이 부족하면 필요한 부분 만 차지하십시오. 라벨을 250으로 설정하고 컨테이너가 250보다 작 으면 테두리 컨테이너가 컨테이너 외부에서 계속됩니다. 나는 그것을 축소시키고 싶다. 하지만 250 픽셀을 사용할 수 있다면 모두 가져 가세요. 나는 이것이 이것을 분명히하기를 바란다. 설명하기가 쉽지 않다. – Pmarcoen

+0

나는 당신이 지금 원하는 것을 본다. 아직 해결책이 없지만 문제는 maxWidth를 무시하는 것이 아니라 width = "100 %"를 사용하지 않는 것입니다 (비록 그렇지만). maxWidth는 250을 초과하는 너비 만 제한하지만, 너비가 250이 될 때까지 영향을 미치지 않습니다. 너비 = 100 %도 예상대로 작동하지만 주변 그룹에 비해 100 % 너비가 설정되지 않았습니다. 이것이 필요한 최소 크기가 필요한 이유입니다. 만약 내가 더 많은 시간을 갖게된다면 해결책을 찾을 수 있습니다. 그렇지 않다면이 정보로 무언가를 할 수 있기를 바랍니다. –

+0

바로 Robin입니다. 시간 내 주셔서 감사합니다! – Pmarcoen