【发布时间】:2009-11-13 21:32:16
【问题描述】:
我能够通过 LinkBar 的“disabledColor”样式设置选定 LinkBar 按钮的文本颜色。因此,我希望通过“backgroundDisabledColor”样式设置所选按钮的背景颜色,但是,它不起作用;除了“backgroundDisabledColor”之外,我没有看到任何其他可能实现这一点的样式。请帮忙。谢谢。
【问题讨论】:
标签: apache-flex flex3
我能够通过 LinkBar 的“disabledColor”样式设置选定 LinkBar 按钮的文本颜色。因此,我希望通过“backgroundDisabledColor”样式设置所选按钮的背景颜色,但是,它不起作用;除了“backgroundDisabledColor”之外,我没有看到任何其他可能实现这一点的样式。请帮忙。谢谢。
【问题讨论】:
标签: apache-flex flex3
问题可能是您在 LinkBar 本身上设置样式 - 尝试将 LinkBar 的 linkButtonStyleName 样式设置为包含按钮所需的所有样式的不同样式选择器。您应该可以在那里设置按钮本身的 fillColors 样式 - 这将更改按钮的默认外观。
如果您需要调整“选定”颜色,或者如果您需要更高级的东西,而不仅仅是为按钮背景设置皮肤,您需要编写一个自定义皮肤类。这并不太难 - Button 类具有一整套“Selected”样式 - selectedDownSkin、selectedUpSkin、selectedDisabledSkin 等。IMO 的最佳做法是将您的按钮皮肤设置为自定义皮肤类,该类基于不同的个人样式设置关于状态。
David Flately 说明了这种方法here。查看他的消息来源 - 这应该可以满足您的需求。 Juan Sanchez 和 Andy McIntosh 的用 Flex 3.0 创建视觉体验是一本关于这个主题的好书,其中包含此类内容以及许多其他示例。我无法发布指向它的链接,因为我在这里的声誉还不够高,但你可以在亚马逊或巴恩斯和贵族或任何其他在线书店找到它。
【讨论】:
【讨论】:
哈哈,正在找同样的东西,可以看LinkBar的源码:
// Hilite the new selection.
child = Button(getChildAt(selectedIndex));
child.enabled = false;
这很聪明!他们没有将 selected 设置为 true,而是禁用了选定的按钮……为什么不;-( 花了我半个小时来理解 Flex 团队的逻辑……
eBuildy,弹性专家
【讨论】: