FLEX4可以在MXML中轻松完成。
一、在工程中新建一个文件夹compnents;
二、右键compnents文件夹,新建一个MXML组件并命名为mylogo,去掉高宽的数值;
三、编辑mylogo,切换到设计视图:增加一个Image控件到中心小框中间,再切换到源码视图:
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<fx:Script>
<![CDATA[
[Bindable]
public var imageFile:String;
]]>
</fx:Script>
<mx:Image x="0" y="0" source="../img/{imageFile}"/>
</s:Group>
红字为增加和修改的部分:{}中间部分表示定义的变量,前面../imgo/ 为工程中图片所在的路径;
一个简单的图片控件做好了!这个控件完成一个可以自定义的图片显示功能
四、在工程右键新建一个MXML应用程序,切换到设计视图,从左侧的组件面板就可以看到刚才我们创建的控件mylogo,
将此自定义控件mylogo拖到窗口中,会自动完成代码的添加,切换到源码窗口,发现多了一个<componets:mylogo>标签;直接在后面输入刚才定义的变量的前几个字母会发现提示窗口会自动找到完整的变量名称!
指定一个图片文件,<components:mylogo x="19" y="34" imageFile="4.jpg">,编译运行发现图片正常显示了!这个例子超简单,主要是体验一下FLEX4自定义组件的方法,个人感觉这个比VS2008自定义组件还要简单!也省掉了SETTER和GETTER。