2012-12-25 93 views
0

我有一個自定義皮膚的spark按鈕。更改Flex按鈕圖標使用皮膚的Alpha

我需要控制使用皮膚設置爲按鈕圖標的圖像的alpha值。即我需要圖像通過改變按鈕狀態來改變其不透明度。

是否有解決方法,使用皮膚類,而不是寫入事件處理程序?

回答

2

當您創建新的按鈕外觀時,您可以在那裏看到生成的mxml標記,它根據狀態設置不同梯度的梯度。

所以,你可以設置不同狀態的α值在圖像像

<s:Image alpha.disabled="0.1" alpha.over="0.4" />等。

更新:

現在我明白你的問題。圖標(由icon屬性設置)由spark.skins.SparkButtonSkin中的代碼定義和管理,並且您生成的外觀將擴展該類。

呈現圖標的控制ID爲iconDisplay,其類型爲BitmapImage

所以,你可以通過添加如下代碼到你的皮膚產生改變其行爲:

<s:BitmapImage id="iconDisplay" 
        alpha.down="0.5" 
        alpha.over="0.7" 
        alpha.up="0" 
        /> 

它不會添加另一個圖標。

+0

但在生成的皮膚中,我找不到該圖標的任何部分。你是否建議添加一個新的圖標組件。 – Saju