2010-06-18 6 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? –

+0

Извините за путаницу. Я просто понимаю, что мой ответ был отключен ... Внутри вашего компонента введите skinclass и нажмите Ctrl + Enter (ПК), чтобы получить всплывающее окно с множеством опций. click create skin создаст для вас файл скина. Вы можете изменить его для того, что вам нужно. Также см. Мой обновленный код выше. – FlyingCat

0

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

MyButton.setStyle('skin', mySkin); 

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

Смежные вопросы