- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
FLEX4 在Spark皮肤中定义与使用新的皮肤机制.docx
Flex 4 beta版Spark组件的一个主要优势来自于一种完全不同地皮肤机制,它为开发人员提供了对应用程序视觉上更强的控制。本教程将告诉你如何对可视化组件构建皮肤。任何使用这些皮肤的组件都内置了这种机制。为了说明这一点,我将通过PowerWindow来说明,它是利用了这些skin parts皮肤部件以及skin states皮肤状态和其它皮肤功能的一个自定义面板,以使用户可以通过按钮重新调整大小,最小化和最大化组件。要求这篇文章需要用到以下软件和文件:Flash Builder 4 beta /go/flashbuilder4_downloadDownload? /devnet/flex/articles/flashbuilder4_skin_parts/spark_skin_parts.zipspark_skin_parts.zip (ZIP, 51 KB)必备知识建议你要熟悉Flash Builder,MXML和 ActionScript的基础知识。关于作者Drew Falkman是一位RIA开发人员,是Santa Monica, CA的培训师。使用皮肤和skin partsSpark皮肤用于提高所应用组件的设计和布局。这些皮肤通常在MXML中创建,作为类被用于Flex中。在Flex 4之前,当你使用MX组件时(也称为Halo组件),只有一些简单地皮肤控制能力:你只能包装不同地图形或是在组件上基于API(Application Programming Interface)用编译后的SWF元素预定义一些皮肤样式。而新的Flex 4皮肤API实现一种重大的定制功能,包括:? 定义自定义样式? 用图像和预编译后的SWF元素? 用Flash绘图API定义自定义图形元素? 定义皮肤不同状态? 添加涉及父级组件编程功能? 添加skin parts或子组件Flex编程环境中新增的这些允许你利用皮肤大有作为。本质上讲皮肤可涉及到一个组件实例所有可视化方面的问题。在本教程中,我将涵盖最新处理方式:使用skin parts。内置皮肤部件Spark框架中许多组件已经内置了skin parts。你可以访问/en_US/Flex/4.0/langref/Flex 4 API documentation查看已存在的skin parts。Spark对象的顶部显示了支持的皮肤,可以点击链接到达Skin Parts部分(见图1)。/attachment.php?aid=MjI4MTJ8ZGVmOWYyMjZ8MTMzNTU3ODk1N3xjMGM0RDlUeFg1bTYxS3ZRUVpwL2RGb1RmZ0QrQmQ1Q2JpSmh0RnBEcFRNYVpobw%3D%3Dnothumb=yes图1 Button组件API文档的Skin Parts当你点击该链接时,你将在API页面SkinParts部分看到该组件中每个可用的skin parts的释义和对象继承链。注意在Button组件有一个名为labelDisplay的skin part(它继承自ButtonBase类)是TextBase类的实例(见图2),用来显示按钮标签。/attachment.php?aid=MjI4MTN8YzgxZDVhYjd8MTMzNTU3ODk1N3xjMGM0RDlUeFg1bTYxS3ZRUVpwL2RGb1RmZ0QrQmQ1Q2JpSmh0RnBEcFRNYVpobw%3D%3Dnothumb=yes图2 Spark Button类的Skin partsSkin parts的类型如果你看清楚了Spark Button类skin part的定义,你将会看到类型申明是静态的。每个skin part可以是static静态, dynamic动态, 或deferred延迟,skin part的类型与在皮肤中如何实例化它有关系。另外,每个skin part可能是必须的也可能是可选的。若组件的skin part是必须的,那么只要创建一个皮肤其skin part都应要存在。静态的skin part随着皮肤实例化。它们在整个皮肤周期永远是可访问的,并且任何静态part实例只有一个。以Button为例,labelDisplay 皮肤部件是静态的,你不能创建另一个名为labelDisplay的skin part,但你可以访问labelDisplay编程部分(例如改变其text属性)。动态的skin parts是在需要时被实例化,许多组件不需要。这些通常是特定组件有关皮肤不可或缺的工作。例如,Spark ButtonBar组件有三个动态皮肤部件:firstButton, lastButton, 和middleButton。这些动态的skin parts负责处理按钮条上每个按钮的皮肤,但
文档评论(0)