Сделайте так, чтобы искры ButtonBar действовали как mx ToggleButtonBar Flex 4
Привет всем, у меня есть код ниже, чтобы определить элемент управления панели кнопок в спарк:
<s:ButtonBar id="tabs" y="15" left="0" height="31" change="VideosMenuBar_changeHandler(event)">
<s:ArrayCollection>
<fx:String>Latest Videos</fx:String>
<fx:String>Last Week Videos</fx:String>
<fx:String>Last Month Videos</fx:String>
</s:ArrayCollection>
</s:ButtonBar>
и у меня есть несколько вопросов об этом:
1) как я могу заставить эту панель кнопок реагировать как mx ToggleButtonBar, то есть когда я нажимаю кнопку дважды, чтобы не потерять ее состояние, а сохранить ее и изменить только в случае нажатия другой кнопки?
2) Как определить по умолчанию нажатую кнопку?
3) и наконец, я применил готовый скин flex в моем приложении, и это дало моим кнопкам некоторые свойства при наведении курсора, выборе и т. Д., Как я могу определить свой собственный через новый скин на моих кнопках? Могу ли я определить новый свойства моей панели кнопок, чтобы на меня не влияли объявления, заявленные в скине, или мне нужно что-то изменить в этом скине и как это можно сделать?
Заранее большое спасибо за вашу помощь!
1 ответ
- В самом деле. requireSelection="истина"
- ButtonBar расширяет список, поэтому настройка свойства selectedIndex должна работать
Я не совсем уверен, что вы имеете в виду, но вы можете изменить скины кнопок на панели кнопок с помощью css:
s | ButtonBarButton {skin-class: ClassReference ("my.skin.class"); }
Или вы можете выбрать пользовательскую реализацию кнопки, создав собственную ButtonBarSkin для ссылки на ваши кнопки.
<fx:Declarations>
<fx:Component id="firstButton">
<you:MyLastButton />
</fx:Component>
<fx:Component id="middleButton" >
<you:MyLastButton />
</fx:Component>
<fx:Component id="lastButton" >
<you:MyLastButton />
</fx:Component>
</fx:Declarations>
Взгляните на собственный ButtonBarSkin в Spark для хорошего примера и убедитесь, что эти кнопки как минимум реализуют IItemRenderer или просто расширяют ButtonBarButton