2009-11-13 82 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的专家