0

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

我尝试为按钮创建自定义皮肤并将其应用于 downSkin 属性,但我不知道如何从皮肤中更改背景颜色。如果可能的话,我也想避免使用图像作为背景。

4

2 回答 2

3

我希望我明白你需要什么。

在您的皮肤文件中,状态 upAndSelected 是您在选择切换按钮时需要指定颜色的状态。您可以从 Flex 中复制生成的皮肤代码进行修改或查看下面的代码。将其添加到第 2 层下的</s:Rect>标签下方<!--:填充 @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>

希望能帮助到你。

于 2010-06-19T22:27:09.287 回答
0

没有简单的方法。最好的办法是打开 Flash Professional 并创建一个皮肤;然后将该皮肤作为样式分配给按钮,使用如下所示:

MyButton.setStyle('skin', mySkin);

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

于 2010-06-18T22:28:21.140 回答