Сделайте так, чтобы искры ButtonBar действовали как mx ToggleButtonBar Flex 4 - PullRequest
3 голосов
/ 08 февраля 2012

Привет всем, у меня есть код ниже, чтобы определить элемент управления панели кнопок в спарк:

<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 Ответ

4 голосов
/ 08 февраля 2012
  1. Действительно.requireSelection = "true"
  2. ButtonBar расширяет список, поэтому настройка свойства selectedIndex должна работать
  3. Я не совсем уверен, что вы имеете в виду, но вы можете изменить скины кнопок впанель кнопок с использованием 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

...