探索 Flex 和 CSS 的强大功能
2009-08-29 00:00:00 来源:WEB开发网请注意在大多数应用程序内,为每个组件创建一个默认样式并不意味着就完事大吉了。 Button 组件就是这样一个例子。同样地,要让 CSS 代码保持整齐,可以考虑对组件样式子集进行分组。比如,三个称为 Button.musicPlayerPlay、Button.pageDown 和 Button.backToMenu 的可选按钮样式将被一个挨一个地放置在样式表内并被来自其他样式组的注释所分隔。
使用 getStyle() 和 setStyle()
获取自 UIComponent 基类的所有组件继承了两种方法:getStyle() 和 setStyle()。这两种方法为开发人员带来了难以置信的灵活性,对于通过编程实现皮肤处理来说尤其如此。虽然对此功能的用法介绍超出了本文的讨论范围,但是我还是会介绍几种不同的用法以展示此功能背后的威力。在 ActionScript 代码内使用此功能时,对 getStyle 的每个调用都需要对 setStyle 的调用,反之亦然。
清单 6 显示了当窗口进入最小化状态时如何使用这两种方法来对这些任务栏按钮进行皮肤处理。
清单 6. 当窗口最小化时,对任务栏按钮进行皮肤处理
private function toMinimized():void {
TaskBarManager.addToTaskBar(this);
pushStateProperties(stateMin, x, y, 200, titleBar.height, NaN, NaN);
minimizeButton.setStyle("upSkin", getStyle("restoreButtonUpSkin"));
minimizeButton.setStyle("disabledSkin", getStyle("restoreButtonDisabledSkin"));
minimizeButton.setStyle("downSkin", getStyle("restoreButtonDownSkin"));
minimizeButton.setStyle("OverSkin", getStyle("restoreButtonOverSkin"));
maximizeButton.setStyle("upSkin", getStyle("maximizeButtonUpSkin"));
maximizeButton.setStyle("disabledSkin",
getStyle("maximizeButtonDisabledSkin"));
maximizeButton.setStyle("downSkin", getStyle("maximizeButtonDownSkin"));
maximizeButton.setStyle("OverSkin", getStyle("maximizeButtonOverSkin"));
dispatchEvent(new Event("minimize"));
}
更多精彩
赞助商链接