2009-10-15 3 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, отправляются в группу под названием «контейнер». Это работает отлично. Однако, когда я запускаю приведенный ниже пример, макет полностью пурпурный.

<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. Я собирался использовать бета-версию 2 Flex 4. Очень странно.

+0

Я думаю, что Райан Гилл говорил о ночной сборке, в отличие от вехи бета 2 flex 4 build: 4.0.0.10485 Во всяком случае, я напоминаю, что проблема похожа на эту, где top = "0" bottom = " 0 "left =" 0 "right =" 0 "исправил это для меня. :/ Редактировать: извините, я неправильно прочитал ваш вопрос, прочитайте его как width = "100%" height = "100%" – timoxley

+0

любой шанс, что вы сможете опубликовать код вашего решения? это было бы полезно. – D3vtr0n

0

Какую сборку Flex 4 вы используете? Я просто скопировал ваш код точно, и результат выглядит так, как вы ожидали.

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

Я бегу билд бета-2, который был выпущен в течение последних нескольких недель. Build 4.0.0.253292. Вы можете обновить свою сборку, если вы не используете последнюю версию, но вы также можете попробовать очистить проект. Это может просто смутить. Также убедитесь, что ваш браузер не кэширует swf, что иногда происходит, когда размер файла не изменяется резко.

Смежные вопросы