一个Flex控件其实是一个AS类,它即可以在MXML里用基于标签的方式声明,也可以使用AS语句进行声明。
为了弄清我们该怎样使用一个控件,你首先得知道控件的公开的接口,即它的API,你需要知道有关控件的如下知识:
属性、方法、事件、样式、效果。你可以使用MXML初始化你的控件,我们称之为声明实例。你也可是使用 ActionScript3.0来初始化控件,我们叫它编程实例。
用MXML实现Label控件:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<s:Button id= "myButton" label="click me" />
<s:Label text="Hello World" fontSize="18" fontWeight="bold" x="30" y="30" />
</s:Application>
用ActionScript实现Label控件:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
import spark.components.Label;
protected var myActionScriptText:Label;
protected function creationCompleteHandler(event:Event):void{
myActionScriptText = new Label();
myActionScriptText.text = "Hello World";
myActionScriptText.setStyle("fontSize", 18);
myActionScriptText.setStyle("fontWeight", "bold");
myActionScriptText.setLayoutBoundsPosition(30,30,true);
this.contentGroup.addElement(myActionScriptText);
}
]]>
</fx:Script>
<s:Button id= "myButton" label="click me"
click="creationCompleteHandler(event)">
</s:Button>
</s:Application>
以上可以看出,两种语言实现了同样的作用,但是MXML却用了减少了很多行的代码。而ActionScript却可以重复利用其中的数据。其实各有千秋。
分享到:
相关推荐
Flex组件生命周期是软件开发中关于Adobe Flex框架的重要概念,它涉及到UIComponent的创建、初始化、显示和销毁等各个阶段。Flex应用的根对象是SystemManager,这是一个Display Class,继承自flash.display.MovieClip...
组件生命周期包括组件的创建、初始化、状态变化、渲染以及销毁等重要时刻,开发者通过监听和控制这些生命周期事件,可以更细致地管理组件行为和界面表现。 组件皮肤编写实际上是对组件外观和感觉的定制。开发者可以...
创建好CustomDownloadProgressBar组件后,可以在Flex应用中像使用其他组件一样添加它,只需在MXML或ActionScript中实例化并设置相关属性,如URL和初始值。 总结: 在Flex3中,自定义DownloadProgressBar涉及组件...
这些示例可能包括了如何初始化仪表盘组件,设置其数据源,响应用户交互,以及如何动态更新仪表盘显示的数据。开发者可以通过查看和学习这些示例,理解如何在自己的项目中实现类似的仪表盘功能。 具体到实现步骤,...
Flex是Adobe公司开发的一种用于构建富互联网应用(RIA)的框架,它基于ActionScript和MXML语言,提供了强大的用户界面设计和开发能力。在Flex中,创建和扩展组件是构建可复用、可定制UI元素的关键技能。"flex2_...
当渲染器被重新分配给不同的数据项时,需要在`set data()`方法中进行适当的清理和初始化工作。 8. **自适应设计** 根据项目的需要,项目渲染器还可以实现响应式设计,根据屏幕尺寸或设备类型调整其外观和行为。 9...
通过设置其属性,如`apiKey`(你的API密钥)、`initialZoom`、`initialPosition`等,来初始化地图的基本设置。 ```xml ,-122.141949" width="100%" height="100%"/> ``` 4. **交互功能**:利用ActionScript 3.0,...
3.11 节使用容器初始化 3.12 节创建TitleWindow 3.13 节通过LinkBar 控制ViewStack 3.14 节将ViewStack 的选中索引数绑定到一个变量上 3.15 节使用延迟实例化提高启动效率 3.16 节创建并控制可调整大小的容器 3.17节...
1. 初始化时间选择器:覆盖`createChildren()`方法来添加自定义的时间选择器组件。 2. 时间选择事件处理:可能包含`validateNow()`或`commitUpdate()`方法,这些方法在用户选择日期或时间后调用,更新数据模型。 3. ...
综上所述,这段Flex代码通过MXML和ActionScript相结合的方式,实现了动态的登录界面特效。对于想要了解Flex开发或者学习如何使用Flex创建动态用户界面的开发者来说,这段代码提供了一个很好的示例和学习材料。
同时,`ResizableLabelTest.mxml`展示了如何在实际项目中使用这个组件,可能包括初始化参数、事件绑定等。 工具在这里指的是开发工具,例如Flash Builder或IntelliJ IDEA,它们支持Flex/AIR项目的开发,提供了代码...
接下来,我们需要在MXML或ActionScript代码中使用自定义事件。下面是一个简单的示例,演示如何在Flex应用中创建并分发`MyEvent`事件: ```xml <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" ...
例如,我们可以添加一个Button控件,其点击事件监听器中调用Camera.getCamera()初始化相机,并使用navigator.popUp()方法打开相机界面。代码示例如下: ```xml <![CDATA[ import mx.controls.Alert; import ...
首先,需要在MXML文件中导入`flash.utils.getDefinitionByName`函数来获取XML解析类,然后在初始化阶段加载XML文件: ```mxml <![CDATA[ import flash.utils.getDefinitionByName; import mx.controls.Menu; ...
在Flex开发中,有时我们需要从外部HTML页面向SWF文件传递参数,以便在Flex应用程序中使用这些参数。...这在实现动态交互和数据传递时非常有用,特别是在需要根据URL参数来初始化Flex应用的状态或者执行特定操作时。
- **初始化**:尽可能对变量进行初始化。 ##### 9. 方法命名 - **命名规则**:以小写字母开头,后续单词首字母大写,使用动词表示动作,例如 `measure()`、`updateDisplayList()`。 - **无参数方法**:建议使用 ...
// 初始化Camera控件,并添加在VideoDisplay public function initCamera(videoDis:UIComponent):void { var myCamera:Camera = Camera.getCamera(); myCamera.setMode(500,500,30); var myVideo:Video = new ...
在跨平台应用开发中,经常会遇到ActionScript (AS)与JavaScript (JS)之间的交互需求,尤其是在Flex(一种基于Adobe Flash的开发框架)的应用中。Flex是使用ActionScript编写,而网页环境通常由HTML和JavaScript控制...