Пользовательское событие Rollover / Out ButtonBarButton - PullRequest
0 голосов
/ 12 декабря 2010

Каков наилучший способ добавить пользовательский ролловер и свиток к кнопке? Я попытался добавить списки событий в пользовательский скин, который я использую, но события мыши не запускаются.

Есть идеи?

Спасибо!

1 Ответ

0 голосов
/ 12 декабря 2010

Хорошо, я не буду говорить, что это лучший способ сделать это любым способом, но у меня есть решение.

В скине ButtonBar, который я сделал, я добавляю слушателя для creationComplete изDataGroup, а затем добавить слушателя для каждого из элементов внутри него.

<fx:Script>
    <![CDATA[
        import com.mattel.styleguide.events.DesignDropDownEvent;

        import mx.controls.Alert;

        private function init():void
        {
            for (var i:int = 0; i < dataGroup.numElements; i++)
            {
                dataGroup.getElementAt(i).addEventListener(MouseEvent.ROLL_OVER, onRollOver);
                dataGroup.getElementAt(i).addEventListener(MouseEvent.ROLL_OUT, onRollOut);
            }
        }

        private function onRollOver(e:MouseEvent):void
        {
            //dispatch custom event
        }

        private function onRollOut(e:MouseEvent):void
        {
            //dispatch custom event
        }
    ]]>
</fx:Script>

<s:DataGroup id="dataGroup" width="100%" height="100%" creationComplete="init()">
    <s:layout>
        <s:ButtonBarHorizontalLayout gap="-1"/>
    </s:layout>
</s:DataGroup>

Это позволяет получать события ролловера / свертывания для каждой кнопки, затем я могу проверить e.currentTarget и посмотреть, с какой кнопкой взаимодействовали, и отправить пользовательское событие внутри функций, которые всплываютмой взгляд.

Я надеялся, что это будет более чистый способ сделать это, и это вполне может быть правдой, и я просто не знаю, как это сделать.У кого-нибудь еще есть другая идея?

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...