flex组件编写起来很简单,而编写的形式又分为两种 ,分别一mxml形式或者as class编写,两者都可以,置换直观的朋友都可以采用 mxml形式辨析,但如果你的组件需要分开多个类来写,又或者是想效率高点的话,你可以采用as写
但最终我们都需要一个mxml的组件界面来装载我们的组件。
好,先开始说说 便签。恩,标签,可能很多出学的开发者不大清楚是什么,又或者你经常会在一些第三方或者官方组件文件里看到
[Bindable("dataChange")]
[Event(name="UnloadModule")]
[Inspectable(category="General")]
[ArrayElementType("mx.containers.utilityClasses.ConstraintColumn")]
这些语法。可能你会百思不得其解它有什么用,其实这些就是标签(Metadata )语法
Metadata 语法主要用于组件属性的一些信息捆绑,使得你可以在mxml或者组件面板里能使用一些简单的便签,如mxml语法里我们经常都会看到的 当在mxml里 输入空格符后就会提示该组件的一些属性跟方法或者事件(其实这些就是标签绑定的显示为文本),但你又会发现往往这些属性,方法或者事件有跟帮助里的名称不 一样,这个就是标签绑定的一个特点,其实就是提供了一个别名来捆绑某个方法或者事件,或者属性而已。
现在大家都应该基础了解到标签的用途了,下边咱们来说说怎么编写一个组件,就吸纳各刚才说的,我们有两种形式都可以编写flex的组件,
下边我以简单的 mxml文件为例子说说怎么写,
我们先新建一个项目MyComponent 然后再src文件夹里我们再建立一个名叫 components的文件夹
然后新建一个 MXML Component 文件 并保存到 src目录下的一个名叫 components的文件夹里
默认的我们会看到下边的代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
</mx:Canvas>
Canvas ---就是默认的集成组件,当然那哦我们你可以将它改成其他任意的组件,只要下边的命名空间指定好路径就好了
xmlns:mx------这句就是我们的命名空间,我们可以自定义任意一个自己的命名空间,命名空间主要用于区别开
类名的重复等问题,形象的说命名空间就像我们给一个类指定一个文件夹,指定一个路径。
如xmlns:wxsr='com.components.*'
这主要用于指定我们组件的类的位置。也就是包路径
下边我们来修改下这个新建的组件
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" width="292" height="226">
<mx:Metadata>
[Event(name="myComponentTextChange", type="flash.events.Event" )]
</mx:Metadata>
<mx:Script>
<![CDATA[
[Bindable("text")]
[Inspectable(defaultValue="hello word")]
public function set myComponentText(value:String):void
{
inputText.text=value
}
public function get myComponentText():String{
return inputText.text
}
]]>
</mx:Script>
<mx:TextArea id="inputText" change="this.myComponentText=inputText.text; this.dispatchEvent(new Event('myComponentTextChange'))" width="264" height="183" />
</mx:TitleWindow>
好了这样我们就创建好一个我们自定义事件的一个组件了
在这个组件里我们绑定了一个事件
<mx:Metadata>
[Event(name="myComponentTextChange", type="flash.events.Event" )]
</mx:Metadata>
这个事件的名称是(myComponentTextChange)如果你用as写可以这样调用 addEventListener('myComponentTextChange',yourFunc). 它用于在你调用这个组件时在提示里可以看到外也用于显示于flex的组件信息设置面板上显示出来
下边我们还看到这段代码
<![CDATA[
[Inspectable(defaultValue="hello word")]
public function set myComponentText(value:String):void
{
inputText.text=value
}
public function get myComponentText():String{
return inputText.text
}
这段代码主要是绑定了一个set ,get 的方法(myComponentText)并给他设定了一个默认值'hello'
好了下边我们看看我们怎么调用这个我们自定义的组件 回到项目的猪文件吧下边的代码覆盖进去
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:wxsr="components.*" xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<wxsr:TestComponent id="testComponent" enterFrame="trace(testComponent.myComponentText)" myComponentTextChange="trace('------')">
</wxsr:TestComponent>
</mx:Application>
分享到:
相关推荐
在Flex中,自定义组件是开发者根据项目需求创建的特殊UI元素,可以扩展和定制标准的MX或Spark组件。本示例着重于一个名为“ImageViewer”的自定义组件,这通常是一个用于展示图像并可能包含缩放、平移等交互功能的...
在Flex中,自定义组件是开发人员为了满足特定需求而创建的特殊用户界面元素。这些组件可以扩展标准的Flex组件库,或者从头开始构建,以提供独特的功能和视觉表现。 在标题“各种Flex自定义组件”中,我们可以推断这...
在Flex编程中,自定义组件是提升应用可扩展性和复用性的重要手段。这个"flex自定义组件事件DEMO"提供了关于如何创建和管理自定义组件事件的实际示例。下面我们将详细探讨Flex自定义组件、事件处理以及如何通过示例...
标题中的“flex自定义组件介绍”指的是在Adobe Flex框架中创建和使用自定义组件的过程。Flex是一个基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。自定义组件允许开发者根据特定需求扩展Flex...
Flex自定义组件是Adobe Flex框架中的一个重要特性,它允许开发者创建具有特定功能和外观的UI元素,以满足项目中独特的用户界面需求。Flex是一个开源的、基于MXML和ActionScript的开发框架,主要用于构建富互联网应用...
### Flex4自定义组件开发详解 #### 一、Flex4自定义组件概述 Flex4(也称为Spark)是Adobe Flex框架的一个重要版本,它引入了许多新的特性,包括改进的组件库、性能优化以及更好的可定制性。在Flex4中,自定义组件...
在Flex中,自定义组件和事件的使用对于创建功能丰富的用户界面至关重要。下面我们将详细探讨这两个主题。 ### 一、Flex自定义组件 #### 1. 创建自定义组件的原因 在Flex应用中,有时标准组件库提供的组件无法满足...
Flex中的高级自定义组件开发是构建复杂用户界面的关键技术,它允许开发者超越基本组件的限制,以满足特定的业务需求和视觉设计。在创建高级组件时,了解并掌握一些核心方法的重写至关重要,这些方法涉及到组件的生命...
在Flex中,分页组件通常是自定义组件,因为Flex的标准库并未提供内置的分页解决方案。开发者通常需要根据实际需求来设计和实现这样的组件。以下是对Flex分页组件的详细解释: 1. **分页机制**:分页的核心是将大...
Flex组件开发可分为两种. 一是在mxml中创建自定义组件.另一种则在actionscript class中创建,分别知道他们的含义。
在Flex4中,自定义组件皮肤是提升应用视觉效果和用户体验的重要手段。下面将详细介绍如何在Flex4中自定义组件皮肤。 1. **组件皮肤的基本概念** - 组件皮肤是Flex中改变组件外观的一种方式,通过定义不同的皮肤,...
在Flex开发中,自定义组件和事件通讯是构建复杂应用程序的关键技术。本示例通过一个简单的用户登录场景,深入解析了如何实现组件间的有效通信。下面将详细解释Flex自定义组件、事件处理以及它们在实际应用中的作用。...
在本节中,我们将深入探讨Flex组件开发,这是...在阅读《Flex组件自定义.docx》这份文档时,你将更详细地了解这个过程,并获取具体的示例代码。这将有助于你更好地掌握Flex组件开发技术,从而在项目中游刃有余地运用。
Flex3自定义组件类似于Fieldset
在Flex4中,自定义组件皮肤是提升应用界面美观度和用户体验的重要手段。Flex4引入了全新的皮肤架构,使得开发者可以更加灵活地控制组件的外观和交互效果。本篇文章将围绕Flex4自定义组件皮肤进行深入讲解,并结合...
自定义控件在Flex开发中扮演着重要角色,它们允许开发者根据项目需求创建具有独特功能和外观的组件。创建自定义控件的过程通常包括以下步骤: 1. **创建类**:首先,你需要创建一个继承自Flex内置组件的类。这可能...
在本文中,我们将深入探讨`Flex`布局以及如何在前端开发中创建自定义组件,特别是针对`Flex`下的下拉组件。`Flex`布局是一种强大的CSS(层叠样式表)布局模式,允许开发者轻松地创建响应式和动态的用户界面。这种...
本文主要探讨如何在Flex中自定义组件,特别是针对一个搜索栏的实现。在提供的压缩包中,我们有`searchField.fla`、`searchField.swf`以及`documentClasses`这三个文件,它们分别代表了不同阶段的开发过程。 1. **...
在Flex开发中,创建自定义组件是提升应用用户体验和功能扩展性的重要手段。"flex自定义文本编辑器"是一个这样的示例,它展示了如何利用Flex4框架构建一个具备特定功能的文本编辑工具,同时集成了自定义的拾色器功能...
本案例中提到的"flex图片放大镜组件"就是这样一个自定义组件,它专为图片展示站点设计,提供了一个便捷的方式来实现图片的放大效果,从而提升用户体验。 首先,我们来理解一下“flex”这个词。在前端布局中,...