在Flex 4里创建自定义组件和皮肤

来源:互联网 发布:高清网络机顶盒破解 编辑:程序博客网 时间:2024/04/28 22:20

本文来自:http://coenraets.org/blog/2010/01/creating-a-custom-component-and-skins-in-flex-4/

Flex 4里Spark皮肤模块的基本思路是: 完全将组件的行为与其视觉表示(visual representation)解耦开来。你在一个类里编译组件的行为代码,在可互换MXML皮肤类里,编译其视觉表示的代码。这个新的构架降低了重量,并且使得自定义组件更为简单。

 

为了给你们一个简单的范例,我为一些Flex 3范例创建的PhotoInput组件创建了Spark版本(Salesbuilder和 inSync)。有了PhotoInput组件,用户可以使用webcam拍照。

 

下面是PhotoInput组件,配简约皮肤。点击Start Camera(启用照相机)按钮,启用你的webcam,点击Take Picture (拍照)按钮,开始拍照。

<components:PhotoInput skinClass="skins.PhotoInputSkin" width="200"/>

这是同一个PhotoInput 组件,但是使用了不同的皮肤。点击组件左上角的webcam图标,开始拍照。

<components:PhotoInput skinClass="skins.PhotoInputSkin2" width="200"/>


 

你可以在主应用程序类中看到,这是同一个PhotoInput组件,使用了两种不同的皮肤:PhotoInputSkin 和PhotoInputSkin2。

 

PhotoInputSkin.mxml 定义如下:

PhotoInputSkin2.mxml 定义如下:

PhotoInput 类提供组件的基本行为(启动/停止照相机,拍照等),定义如下:

源代码

你可以在这里下载应用程序的源代码:

 

更多信息

如需了解有关皮肤的更多信息,请阅读DevNet.上Ryan Frishberg的精彩文章。

Flash Builder 4 正式版下载地址:http://g.csdn.net/5128184

原创粉丝点击