选择切换按钮时,更改切换按钮背景颜色的最简单方法是什么?
我尝试为按钮创建自定义皮肤并将其应用于downSkin属性,但我无法弄清楚如何更改皮肤内的背景颜色。另外,如果可能的话,我想避免使用图像作为背景。
答案 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,则此建议可能不适用[