更改Flex切换按钮的背景颜色

时间:2010-06-18 21:27:27

标签: flex button skin

选择切换按钮时,更改切换按钮背景颜色的最简单方法是什么?

我尝试为按钮创建自定义皮肤并将其应用于downSkin属性,但我无法弄清楚如何更改皮肤内的背景颜色。另外,如果可能的话,我想避免使用图像作为背景。

2 个答案:

答案 0 :(得分:3)

我希望我明白你的需要。

在皮肤文件中,状态upAndSelected是选择togglebutton时指定颜色所需的状态。您可以从Flex复制生成的皮肤代码以进行修改或检查下面的代码。将其添加到</s:Rect>第2层下的<!--标记下方:填写@private - &gt;`

<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>

希望它有所帮助。

答案 1 :(得分:0)

没有简单的方法。最好的办法是打开Flash Professional并创建一个皮肤;然后使用以下内容将该皮肤指定为按钮:

MyButton.setStyle('skin', mySkin);

[如果您指的是Spark ToggleButton而不是Halo ToggleButton,则此建议可能不适用[