探索 Flex 和 CSS 的强大功能
2009-08-29 00:00:00 来源:WEB开发网清单 6 内的 toMinimized 方法取自一个扩展了 Flex Panel 类的定制组件。这个组件给出了应用程序内新窗口的外观,用户可以最小化该新窗口以便只显示标题栏(以防用户访问其中的内容)。有关它的最酷的一点是当窗口处于最小化状态时,这个 Minimize 按钮会被 getStyle 和 setStyle 方法动态地重新进行皮肤处理,这两种方法将此按钮转变为 Restore 按钮并为 maximize 按钮的皮肤设置新的状态。通常,我通过创建一种切换开关来重用某个类的相同实例,这节省了系统资源。
使用如下语法,通过 MXML 可以方便地使用 setStyle 方法:
<mx:SetStyle name=”styleNameAsString” value=”newStyleValue” />
当 setStyle 通过 MXML 被调用时,它会自动进行 getStyle 调用,所以您无需获得该样式的当前属性来重置它。正如您在 清单 7 中所见,当应用程序状态改变时,我设置了一个新的背景图像,这种方法对使用状态设计模式的应用程序尤其好用。
清单 7. 在 MXML 内调用 setStyle
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute"
creationComplete="init()">
<mx:states>
<mx:State name="MyLibraryState">
<mx:AddChild position="firstChild">
<comp:CollectionsLibrary height="100%" width="100%"
horizontalCenter="0" verticalCenter="0">
</comp:CollectionsLibrary>
</mx:AddChild>
<mx:SetStyle name="backgroundImage"
value="@Embed(source='com/passalong/assets/
my_collections_background.png')" />
<mx:SetProperty target="{vbox1}" name="y" value="442.95"/>
</mx:State>
</mx:states>
(…)
更多精彩
赞助商链接