Ярлык для кнопки Skinning в Flex 4 - PullRequest
1 голос
/ 09 марта 2011

Я использую скин для своих кнопок в Flex 4. Скины кнопок отображаются правильно.

Теперь я хочу, чтобы ярлык кнопок отвечал так:

  • Вес шрифта должен быть жирным, когда над кнопками "RollOver" или "MouseOver".

Я попытался сделать это в приведенном ниже mxml, добавив свойство rollOver к метке для этой кнопки, но, похоже, она не работает.

Я делаю это в нужном месте, которое находится в файле Skin mxml? Или я должен сделать это для каждой кнопки в самом приложении?

Код кожи:

<?xml version="1.0" encoding="utf-8"?>
<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" 
             xmlns:s="library://ns.adobe.com/flex/spark" 
             xmlns:mx="library://ns.adobe.com/flex/mx">

    <fx:Metadata>
        <![CDATA[ 
        [HostComponent("spark.components.Button")]
        ]]>
    </fx:Metadata>

    <fx:Script>
        <![CDATA[
            protected function labelDisplay_rollOverHandler(event:MouseEvent):void
            {
                FontWeight.BOLD;
                FontStyle.ITALIC;
            }
        ]]>
    </fx:Script>

    <s:states>
        <s:State name="up" />
        <s:State name="over" />
        <s:State name="down" />
        <s:State name="disabled" />
    </s:states>

    <s:BitmapImage includeIn="up" source="{getStyle('upSkin')}" width="100%" height="100%"/>

    <s:BitmapImage includeIn="over" source="{getStyle('overSkin')}" width="100%" height="100%"/>

    <s:BitmapImage includeIn="down" source="{getStyle('downSkin')}" width="100%" height="100%"/>

    <s:BitmapImage includeIn="disabled" source="{getStyle('disabledSkin')}" width="100%" height="100%"/>

    <s:Label id="labelDisplay" textAlign="right" maxDisplayedLines="1" horizontalCenter="1"
             verticalAlign="middle" verticalCenter="1" left="10" right="10" rollOver="labelDisplay_rollOverHandler(event)" />

</s:SparkSkin>

1 Ответ

3 голосов
/ 09 марта 2011

Вы можете легко это сделать, изменив стиль fontWeight для состояния «over». Вы можете сделать это в MXML, указав стиль, за которым следует состояние, к которому нужно применить этот стиль, например:

<s:Label id="labelDisplay" fontWeight.over="bold" textAlign="right" maxDisplayedLines="1" horizontalCenter="1"
         verticalAlign="middle" verticalCenter="1" left="10" right="10" />

Надеюсь, это поможет.

...