Изменить цвет фона кнопки Flex - PullRequest
0 голосов
/ 19 июня 2010

Какой самый простой способ изменить цвет фона кнопки переключения, когда она выбрана?

Я пытался создать собственный скин для кнопки и применить его к свойству downSkin, но я не могуне понять, как изменить цвет фона из кожи.Также я бы по возможности не использовал изображение в качестве фона.

Ответы [ 2 ]

3 голосов
/ 20 июня 2010

Надеюсь, я понимаю, что вам нужно.

В файле скина состояние upAndSelected - это то, что вам нужно, чтобы указать цвет при выборе переключателя. Вы можете скопировать сгенерированный код скина из Flex, чтобы изменить его или проверить код ниже. Добавьте его под тегом </s:Rect> под <!-- layer 2: fill @private -> `

<s:Rect id="fill2" left="1" right="1" top="1" bottom="1" radiusX="2">
    <s:fill>
        <s:LinearGradient rotation="90">
        <s:GradientEntry color="0xFFFFFF"
                         color.upAndSelected="#333333" // you can modify color here
                         alpha="0.85" 
                         />

        <s:GradientEntry color="0xD8D8D8" 
                         color.upAndSelected="red" // you can modify color here 
                         alpha.downAndSelected="1" />
        </s:LinearGradient>
    </s:fill>
</s:Rect>

Вставьте код выше под

 <!-- layer 2: fill -->
    <!--- @private -->
    <s:Rect id="fill" left="1" right="1" top="1" bottom="1" radiusX="2">
        <s:fill>
            <s:LinearGradient rotation="90">
                <s:GradientEntry color="0xFFFFFF" 
                               color.selectedUpStates="0xBBBDBD"
                               color.overStates="0xBBBDBD" 
                               color.downStates="0xAAAAAA" 
                               alpha="0.85" 
                               alpha.overAndSelected="1" />
                <s:GradientEntry color="0xD8D8D8" 
                               color.selectedUpStates="0x9FA0A1"
                               color.over="0x9FA0A1" 
                               color.overAndSelected="0x8E8F90"
                               color.downStates="0x929496" 
                               alpha="0.85"
                               alpha.overAndSelected="1" />
            </s:LinearGradient>
        </s:fill>
    </s:Rect>

Надеюсь, это поможет.

0 голосов
/ 19 июня 2010

Нет простого пути. Лучше всего открыть Flash Professional и создать скин; затем назначьте этот скин кнопке как стиль, используя что-то вроде этого:

MyButton.setStyle('skin', mySkin);

[Этот совет может не применяться, если вы имеете в виду Spark ToggleButton, а не Halo ToggleButton [

...