2009-10-15 5 views
6

私は、背景色を持つようにspark.components.Groupを拡張する単純なコンポーネントを構築しようとしています。具体的には、バックグラウンドを埋めるために伸びたspark.primitives.Rectコンポーネントです。フレックス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

ライアンギルは、マイルストーンのベータ2のflex 4ビルドとは対照的に、夜間のビルドについて話していたと思います:4.0.0.10485 とにかく、これはtop = "0" bottom = 0 "left =" 0 "right =" 0 "私のためにそれを固定しました。 :/ 編集:申し訳ありませんが、あなたの質問が間違っていますか?幅= "100%"高さ= "100%" – timoxley

+0

解決策のコードを投稿する可能性はありますか?それは助けになるだろう。 – D3vtr0n

0

どのようなフレックス4を使用していますか?私はちょうどあなたのコードを正確にコピーし、出力はあなたが期待するように見えます。

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

私は最後の数週間以内にリリースされたベータ2ビルドを実行しています。ビルド4.0.0.253292。最新のものを実行していない場合はビルドをアップグレードできますが、プロジェクトをクリーンアップすることもできます。それはちょうど混乱しているかもしれません。また、ブラウザがswfをキャッシュしていないことを確認してください。これは、ファイルサイズが劇的に変化しない場合に発生することがあります。

関連する問題