0

私はこのスタイルCSSファイルを持っています:

@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/mx";

global{
chrome-color: #DEEBFF;
color: #444444;
content-background-color: #FFFFFF;
symbol-color: #333333;
roll-over-color: #EBF4FF;
selection-color: #DEEBFF;
focus-color: #EEEEEE;
accent-color: #C0E3FF;}


s|Application{
background-color: #EBF4FF;

}

chrome-color や symbol-color などの実行時にこれらの色の一部を変更したいのですが、setStyle のこれらのプロパティが見つかりません。

どんな手掛かり ?

ありがとう

4

2 に答える 2

2

グローバル スタイルと特定のコンポーネントのスタイルを変更できます。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
    xmlns:mx="library://ns.adobe.com/flex/mx"
    xmlns:s="library://ns.adobe.com/flex/spark">

    <fx:Style>
        @namespace s "library://ns.adobe.com/flex/spark";
        @namespace mx "library://ns.adobe.com/flex/mx";

        global
        {
            fontWeight: bold;
            fontSize: 20;
        }

    </fx:Style>

    <fx:Script>
        <![CDATA[
            protected function button1_clickHandler(event: MouseEvent): void
            {
                styleManager.getStyleDeclaration("global").setStyle("fontSize", 12);
                styleManager.getStyleDeclaration("global").setStyle("fontWeight", "normal");
            }

            protected function button2_clickHandler(event: MouseEvent): void
            {
                myLabel.setStyle("fontSize", 100);
            }
        ]]>
    </fx:Script>

    <s:Button click="button1_clickHandler(event)"
        label="Global" />

    <s:Button x="100 "
        click="button2_clickHandler(event)"
        label="Label" />

    <s:Label id="myLabel"
        y="50"
        text="Some text" />

</s:Application>
于 2012-07-30T15:42:35.380 に答える
1

実行時に必要な定義済みの一連の変更がある場合は、複数の css ファイルを作成して実行時にロードできます。実行時に CSS を読み込むには、css を swf にコンパイルする必要があります。Flash ビルダーでは、css ファイルを右クリックして [CSS を swf にコンパイル] を選択するか、次のコマンドを使用して CSS を swf にコンパイルします。

mxmlc filename.css

このコマンドは、css ファイルが存在するディレクトリと同じディレクトリに filename.swf を生成します。次に、コンパイルされたcssを次を使用してロードできます

styleManager.loadStyleDeclarations("../assets/filename.swf");
于 2012-08-02T17:56:02.510 に答える