0

我正在使用 Flex 4 beta 并且加载外部 css 的能力似乎被破坏了。运行下面的代码根本没有显示任何样式。我错过了什么吗?

这是代码:

包组件 { 导入 flash.events.Event; 导入 flash.net.URLLoader;导入 flash.net.URLRequest;导入 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; 字体系列:Verdana;字体大小:36;字体样式:斜体;字体粗细:粗体;}

加载此代码(stackoverflow 软件删除了 s:Application 标签):

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

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

4

1 回答 1

0

如果 CSS 文件与 Web 服务器上的 SWF 处于相对位置,您可以尝试将此标记添加到您的应用程序 MXML。

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

这将引入所有 CSS 设置并自动为您进行分配。

于 2010-01-21T21:07:03.593 回答