2009-10-15 12 views
6

Próbuję zbudować prosty komponent rozszerzający spark.components.Group o kolor tła, a dokładniej składnik spark.primitives.Rect, rozciągnięty, aby wypełnić tło.Flex 4: Zbuduj grupę z tłem

To co mam wymyślić dotąd:

<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> 

Ok, więc logika tutaj w zasadzie sens, prawda? Wszystkie dzieci zadeklarowane w MXML idą do grupy o nazwie "container". To działa dobrze. Jednak po uruchomieniu przykład poniżej, układ jest całkowicie 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> 

To jak to wygląda:

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

Czy coś mi tu brakuje? Może metoda, którą muszę zastąpić?

Odpowiedz

0

Dziwne. Po prostu uciekłem się do implementacji Skórki i zastosowania jej do SkinnableContainer. Kompilowałem też przy użyciu wersji Beta 2 Flex 4. Rzeczywiście bardzo dziwne.

+0

Myślę, że Ryan Guill mówił o nocnej kompilacji, w przeciwieństwie do kamienia milowego beta 2 flex 4 build: 4.0.0.10485 W każdym razie, przypominam sobie o problemie podobnym do tego, w którym top = "0" bottom = " 0 "left =" 0 "right =" 0 "naprawiono dla mnie. :/ edytuj: przepraszam, błędnie przeczytałem twoje pytanie, odczytałem jako szerokość = "100%" wysokość = "100%" – timoxley

+0

czy masz szansę opublikować swój kod rozwiązania? to byłoby pomocne. – D3vtr0n

0

Jaką wersję Flex 4 używasz? Właśnie skopiowałem twój kod, a wynik wygląda tak, jak byś tego oczekiwał.

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

Używam beta 2 build, który został wydany w ciągu ostatnich kilku tygodni. Zbuduj 4.0.0.253292. Możesz uaktualnić swoją kompilację, jeśli nie korzystasz z najnowszej wersji, ale możesz także spróbować wyczyścić projekt. Może się po prostu mylić. Upewnij się też, że twoja przeglądarka nie buforuje pliku SWF, co czasami ma miejsce, gdy rozmiar pliku nie zmienia się dramatycznie.

Powiązane problemy