2009-11-13 84 views
0

我能夠通過LinkBar的「disabledColor」風格設置選定的LinkBar按鈕的文本顏色。因此,我期望通過「backgroundDisabledColor」風格來設置所選按鈕的背景顏色,但它不起作用;除了「backgroundDisabledColor」之外,我沒有看到其他任何可能實現的樣式。請幫忙。謝謝。Flex LinkBar:如何設置選定按鈕的背景顏色?

回答

2

問題可能是您在LinkBar本身上設置了樣式 - 嘗試將LinkBar的linkBut​​tonStyleName樣式設置爲包含所需的按鈕樣式的不同樣式選擇器。您應該可以在其中設置按鈕的fillColors樣式 - 這將改變按鈕的默認外觀。

如果您需要調整「選定」顏色,或者如果您需要更高級的內容而不僅僅是蒙上按鈕背景,則需要編寫自定義皮膚類。這並不難 - Button類有一整套「Selected」風格 - selectedDownSkin,selectedUpSkin,selectedDisabledSkin等。IMO的最佳做法是將你的按鈕外觀設置爲一個自定義外觀類,它根據不同的個人風格開啓狀態。

David Flately說明了這種方法here。檢查他的來源 - 這應該得到你所需要的。有關此主題的好書以及其他許多示例都是Juan Sanchez和Andy McIntosh的「使用Flex 3.0創建視覺體驗」。我無法發佈一個鏈接,因爲我的聲譽還不夠高,但你可以在亞馬遜,巴恩斯,貴族或任何其他網上書店找到它。

+0

非常感謝通過以下鏈接,這也很容易寫一個綱領性的皮膚,並獲得背景色定格在我的情況下,我只需要考慮3外觀:disabledSkin,overSkin和皮膚 我注意到的一件事 - 似乎LinkBut​​ton的選擇d和禁用樣式相同,因爲disabledSkin是我製作LinkBar選擇時使用的皮膚。所以沒有可視的方式來告訴從禁用按鈕選擇的按鈕。任何想法? – 2009-11-14 03:52:51

+0

是的 - 在您的皮膚類中,您可能需要將禁用的皮膚和選定的皮膚分爲兩個不同的實現,即使默認設置是以相同的方式顯示它們。 – 2009-12-01 22:18:48

+0

這似乎不值得額外的工作 - 如果這是需要的,只需手動執行「LinkBar」即可。 – Manius 2014-01-24 23:36:43

0

哈哈,一直在尋找同樣的東西,你可以在LinkBar的源代碼,請參閱:

// Hilite the new selection. 
    child = Button(getChildAt(selectedIndex)); 
    child.enabled = false; 

這是聰明的!而不是選擇設置爲true,禁用它們選擇的按鈕...爲什麼不;-(我花了一個半小時,瞭解了Flex團隊邏輯...

eBuildy,Flex的專家