2011-03-09 97 views
1

我在Flex 4中爲我的按鈕使用蒙皮。蒙皮按鈕顯示正確。Flex 4中的蒙皮按鈕標籤

現在我想按鈕的標籤,因爲這樣迴應:

  • 字體粗細應該大膽當「利添利」或「鼠標懸停」在按鈕上。

我試着在下面的mxml中通過將rollOver屬性包含到此按鈕上的Label上,但它似乎不起作用。

我是否在正確的位置使用它,即在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> 

回答

3

您可以通過改變fontWeight設置樣式爲「過度」的狀態很容易做到這一點。您可以通過指定的樣式,然後你想要的風格被應用到,像這樣的狀態MXML做到這一點:

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

希望有所幫助。