Как поместить простой градиент в кнопки de кнопок панели в Flex 4? - PullRequest
0 голосов
/ 25 апреля 2011

Как, черт возьми, вы помещаете простой градиент css в кнопки панели кнопок?Я искал повсюду, и мне совсем не интересно снимать скины. Кажется странным, что весь этот грязный код имеет простой градиент.

Это мой css

.my_ButtonBar{
    buttonStyleName: "buttonBarButton"; 
    firstButtonStyleName: "firstButtonBarButton"; 
    lastButtonStyleName: "lastButtonBarButton";
}

.buttonBarButton 
{
    fillColors: red, red;
}

И это мой mxml

<s:ButtonBar dataProvider="{viewstack}" width="200" top="0" left="0" styleName="main_ButtonBar">
    <s:layout>
        <s:TileLayout columnWidth="200" rowHeight="50"
                horizontalGap="-1" verticalGap="-1" />
    </s:layout>
</s:ButtonBar>

После ответа пользователя user700284 я создал новый skinclass на основе класса панели кнопок.

<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" 
        alpha.disabled="0.5">

    <fx:Metadata>
    <![CDATA[ 
       /** 
         * @copy spark.skins.spark.ApplicationSkin#hostComponent
         */
        [HostComponent("spark.components.ButtonBar")]
    ]]>
    </fx:Metadata> 

    <s:states>
        <s:State name="normal" />
        <s:State name="disabled" />
    </s:states>

    <fx:Declarations>
        <fx:Component id="firstButton">
            <s:ButtonBarButton skinClass="spark.skins.spark.ButtonBarFirstButtonSkin" />
        </fx:Component>

        <fx:Component id="middleButton" >
            <s:ButtonBarButton skinClass="spark.skins.spark.ButtonBarMiddleButtonSkin" />
        </fx:Component>

        <fx:Component id="lastButton" >
            <s:ButtonBarButton skinClass="spark.skins.spark.ButtonBarLastButtonSkin" />
        </fx:Component>
    </fx:Declarations>

    <s:DataGroup id="dataGroup" width="100%" height="100%">
        <s:layout>
        <s:TileLayout columnWidth="200" rowHeight="50"
            horizontalGap="-1" verticalGap="-1" />
        </s:layout>
    </s:DataGroup>
</s:Skin>

Если я добавлю прямоугольную заливку, она заполнит всю панель кнопоквместо каждой кнопки в отдельности.Как мне просто поставить простой градиент на кнопки ?????

Ответы [ 2 ]

0 голосов
/ 25 апреля 2011

Существует стиль Spark 'chromeColor', который изменяет цвета по умолчанию. FTQuest

0 голосов
/ 25 апреля 2011

Я не думаю, что вы сможете управлять fillColors с помощью CSS, потому что spark Button не поддерживает стиль fillColors. Проверьте следующую ссылку:

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/components/Button.html#commonstyleSummary

Так что вы можетеприходится прибегать к созданию скинов для кнопок.(

...