2009-12-28 56 views
0

我正在使用Flex 4 beta,並且加載外部CSS的能力似乎被破壞了。運行下面的代碼顯示根本沒有樣式。我錯過了什麼嗎?在Flex 4中使用外部CSS

下面的代碼:

封裝部件 { 進口對象類型:flash.events.Event; import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.StyleSheet;

import mx.controls.Label; 
import spark.components.Panel; 

public class MainPanel extends Panel 
{ 
    private var mainLabel:Label = new Label(); 
    private var label2:Label = new Label(); 


    public function MainPanel() 
    { 
     super(); 

     var cssUrl:URLRequest = new URLRequest("css/style.css"); 
     var cssLoader:URLLoader = new URLLoader(); 
     cssLoader.addEventListener(Event.COMPLETE, cssLoaded); 
     cssLoader.load(cssUrl); 
    } 

    function cssLoaded(event:Event):void { 
     var css:StyleSheet = new StyleSheet(); 
     css.parseCSS(URLLoader(event.target).data); 

     mainLabel.styleSheet = css; 
     mainLabel.htmlText = "Main Label"; 
     mainLabel.horizontalCenter = 0; 
     mainLabel.verticalCenter = -350; 
     mainLabel.setStyle("styleName", "h1"); 
     addElement(mainLabel); 

     label2.htmlText="Sub-Label"; 
     label2.horizontalCenter="0"; 
     label2.verticalCenter="-300"; 
     addElement(label2); 
    } 
} 

}

CSS/style.css中

.h1 { 顏色:#ffe145; font-family:Verdana; font-size:36; font-style:italic; font-weight:bold; }

裝入該代碼(S:應用程序標記獲取由計算器軟件丟棄):

<fx:Declarations> 
    <!-- Place non-visual elements (e.g., services, value objects) here --> 
</fx:Declarations> 

<custom:MainPanel horizontalCenter="0" verticalCenter="0"/> 

回答

0

如果CSS文件中的相對位置的SWF在Web服務器上,您可以嘗試將此標記添加到您的應用程序MXML中。

<fx:Style source="css/style.css"/> 

這將拉入所有CSS設置並自動爲您分配作業。