2009-10-15 6 views
6

배경색을 갖기 위해 spark.components.Group을 확장하는 간단한 구성 요소, 특히 spark.primitives.Rect 구성 요소를 배경으로 채우도록 확장하려고합니다.Flex 4 : 배경이있는 그룹 만들기

이것은 내가 지금까지 가지고 올 한 것입니다 :

<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/halo" 
    <fx:Metadata> 
     [DefaultProperty(name="content")] 
    </fx:Metadata> 

    <s:Rect id="background" width="100%" height="100%"> 
     <s:fill> 
      <s:SolidColor color="#990000"/> 
     </s:fill> 
    </s:Rect> 

    <s:Group id="container"/> 

    <s:filters> 
     <!-- For good measure ;) --> 
     <s:DropShadowFilter color="#000000" strength="0.4" blurX="5" blurY="5" distance="2" angle="90"/> 
    </s:filters> 

    <fx:Script> 
     <![CDATA[ 
      public function set content(value:Array):void { 
       this.container.mxmlContent = value; 
      } 
     ]]> 
    </fx:Script> 
</s:Group> 

이 좋아, 그래서 여기에 논리는 기본적으로 오른쪽 의미가? MXML로 선언 된 모든 자식은 "컨테이너"라는 그룹으로 이동합니다. 그것은 잘 작동하고 있습니다. 그러나 아래 예제를 실행하면 레이아웃이 완전히 fubar입니다.

<s:VGroup> 
    <!-- This is the component described above --> 
    <components:MessageContainer id="component" width="100" height="100"/> 
    <mx:Slider/> 
    <mx:Slider/> 
    <mx:ColorPicker/> 
</s:VGroup> 

이는 모습입니다 : 내가 여기에 누락 뭔가

flex fubar http://i34.tinypic.com/s4p0tz.jpg

있습니까? 아마 내가 오버라이드 할 필요가있는 방법일까요?

답변

0

이상한. 방금 Skin 구현을 만들고 SkinnableContainer에 적용했습니다. Flex 4의 Beta 2 릴리스를 사용하여 컴파일하고있었습니다. 정말로 이상한.

+0

필자는 Ryan Guill이 이정표 베타 2 플렉스 4 빌드에 반대하여 야간 빌드에 대해 이야기했다고 생각합니다. 4.0.0.10485 어쨌든, top = "0"bottom = " 0 "left ="0 "right ="0 "나를 위해 그것을 고쳤다. :/ 죄송합니다. 귀하의 질문을 잘못 읽었을 때 솔루션의 코드를 게시 할 수있는 폭이 "100 %"height = "100 %" – timoxley

+0

으로 읽습니까? 그게 도움이 될거야. – D3vtr0n

0

어떤 플렉스 4 빌드를 사용하고 있습니까? 방금 코드를 정확히 복사 했으므로 예상대로 결과물이 나타납니다.

result http://i38.tinypic.com/i5t9it.jpg

나는 지난 몇 주 이내에 출시 된 베타 2 빌드를 실행하고 있습니다. 빌드 4.0.0.253292. 최신 빌드를 실행하지 않는 경우 빌드를 업그레이드 할 수 있지만 프로젝트를 정리할 수도 있습니다. 혼란 스러울 수도 있습니다. 또한 브라우저가 SWF를 캐싱하지 않도록하십시오. 파일 크기가 크게 변경되지 않을 때가끔 발생합니다.