2009-10-15 22 views
6

Tôi đang cố gắng xây dựng một thành phần đơn giản mở rộng spark.components.Group để có màu nền, cụ thể hơn là thành phần spark.primitives.Rect được kéo dài để lấp đầy nền.Flex 4: Xây dựng một nhóm với nền

Đây là những gì tôi đã đưa ra cho đến nay:

<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, vậy logic ở đây về cơ bản có ý nghĩa, phải không? Tất cả trẻ em được khai báo trong MXML chuyển đến Nhóm được gọi là "vùng chứa". Đó là làm việc tốt. Tuy nhiên, khi tôi chạy ví dụ bên dưới, bố cục hoàn toàn là 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> 

Đây là những gì nó trông giống như:

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

Có cái gì tôi đang thiếu ở đây? Có lẽ một phương pháp tôi cần phải ghi đè?

Trả lời

0

Lạ. Tôi chỉ viện đến việc thực hiện Skin và áp dụng nó cho SkinnableContainer. Tôi đã biên soạn bằng cách sử dụng bản phát hành Beta 2 của Flex 4. Thực sự rất lạ.

+0

Tôi nghĩ Ryan Guill đang nói về một bản dựng hàng đêm, trái ngược với mốc beta 2 flex 4 build: 4.0.0.10485 Dù sao, tôi nhớ có vấn đề tương tự như thế này, nơi đầu = "0" bottom = " 0 "left =" 0 "right =" 0 "đã sửa nó cho tôi. :/ chỉnh sửa: xin lỗi, tôi đã đọc sai câu hỏi của bạn, đọc nó dưới dạng width = "100%" height = "100%" – timoxley

+0

bất kỳ cơ hội nào bạn có thể đăng mã của giải pháp? điều đó sẽ hữu ích. – D3vtr0n

0

Bạn đang sử dụng cấu trúc flex 4 nào? Tôi vừa sao chép mã của bạn một cách chính xác và đầu ra trông giống như bạn mong đợi.

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

Tôi đang chạy phiên bản beta 2 build đã được phát hành trong vòng vài tuần qua. Xây dựng 4.0.0.253292. Bạn có thể nâng cấp bản dựng của mình nếu bạn không chạy phiên bản mới nhất, nhưng bạn cũng có thể thử làm sạch dự án. Nó chỉ có thể bị lẫn lộn. Ngoài ra, hãy đảm bảo trình duyệt của bạn không lưu vào bộ nhớ cache, điều này đôi khi xảy ra khi kích thước tệp không thay đổi đáng kể.