2010-06-18 95 views
0

切換按鈕的背景顏色被選中時,最簡單的方法是什麼?更改Flex切換按鈕的背景顏色

我已經嘗試創建按鈕的自定義皮膚並將其應用於downSkin屬性,但我無法弄清楚如何從皮膚內更改背景顏色。如果可能的話,我也想避免使用圖片作爲背景。

回答

3

我希望這個建議可能並不適用:然後使用這樣的肌膚分配給該按鈕的風格瞭解你需要什麼。

在您的皮膚文件中,upAndSelected狀態是您在選擇togglebutton時指定顏色時需要的。您可以從Flex複製生成的外觀代碼以對其進行修改或檢查下面的代碼。添加它</s:Rect>標籤下方下<!--層2:填充@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

我不確定「生成的皮膚代碼」是什麼意思。 Rect定義是否在元素下或者外觀UIComponent的主體中? – 2010-06-21 13:58:47

+0

抱歉有關混淆。我只是意識到我的迴應被切斷了......在你的組件中,鍵入skinclass並點擊Ctrl + Enter(PC)會給你一個帶有一堆選項的彈出窗口。點擊創建皮膚會爲你生成一個皮膚文件。您可以根據需要對其進行修改。另外,請參閱我上面的更新代碼。 – FlyingCat 2010-06-21 17:07:03

0

沒有簡單的方法。您最好的選擇是打開Flash Professional並創建一個皮膚;

MyButton.setStyle('skin', mySkin); 

[如果你指的是一個Spark切換按鈕,而不是一個光環切換按鈕[