`
hjy2099
  • 浏览: 261323 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

Flex开发自定义控件(基础篇)

    博客分类:
  • Flex
阅读更多

前期准备:

点击File菜单 -> New -> MXML Component,然后弹出一个对话框。

在对话框中输入组件名,选择此组件继承的类型,如:CanvasDataGridComboBox …… 等。

然后选择组件的大小,点击Finish即可。

 

关于组件继承的类型,假设Based on Canvas,那么组件的根元素即为mx:Canvas,此元素的含义为空白面板,那么设计人员可以任意在这个面板容器内放置任何东西,就像开发主程序一样。那么此组件类似一个容器。

如果Based on ComboBox,那么根元素即为mx:ComboBox,此元素的含义为下拉框,那么设计人员可以在下拉框的的内部任意定制内容或代码,那么此组件定制了一个下拉框。

例,登录组件:

 

            制作组件:

                        首先按照上面的步骤新建一个组件,名为CLogin.mxmlBased on TitleWindowTitleWindow元素代表有标题的窗口。

                        然后切换到Design视图,选择这个TitleWindow窗口,在属性框里编辑标题(Title属性),输入“用户登录”。

                        此时的代码大体如下:

 

<?xml version="1.0" encoding="utf-8"?>

<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" width="286" height="208" layout="absolute" title="用户登录">

</mx:TitleWindow>

 

然后我们加入Form控件并填入内容(FormItem),然后添加按钮以便提交,此时代码如下:

 

<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" width="286" height="208" layout="absolute" title="用户登录">

                                                <mx:Form width="248" height="100" label="Button" x="10" y="10">

                              <mx:FormItem label="用户名" fontSize="12">

                                    <mx:TextInput id="username" width="158" height="28" fontSize="15" textAlign="left"/>

                              </mx:FormItem>

     

                              <mx:FormItem label="密码" fontSize="12">

<mx:TextInput id="password" width="159" height="30" fontSize="15" textAlign="left"

displayAsPassword="true"/>

                              </mx:FormItem>

                  </mx:Form>

<mx:Button id="loginbtn" label="登录" textAlign="center" fontSize="12" x="190" y="118"/>

                        </mx:TitleWindow>

 

                        上面的登录只是布局,没加入事件处理程序,但是这已经可以算是一个登录组件了(虽然只能看不能用,呵呵)

组件制作完毕,然后就可以使用他了

 

                        使用组件:

                                   

                        打开主程序,进入Design视图,查看左下角的组件浏览器。

                        你会发现在Custom下多出来一个CLogin来,把它拖入设计面板,哈,登录组件就显示在面板上了,就这么简单。

                        代码可能会如下:

                                        <?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:ns1="*">

    <mx:Script>

          <![CDATA[

                import mx.controls.Alert;

                private function btnClick() : void {

                      Alert.show("test","Test");

                }

          ]]>

    </mx:Script>

    <mx:Button id="bb" x="107" y="37" label="Button" click="btnClick()"/>

    <ns1:CLogin x="107" y="94" width="204" height="117">

    </ns1:CLogin>

</mx:Application>

                 

                  修改命名空间xmlns:ns1变成你想要的比如xmlns:widget,最后的代码:

                 

示例代码:Hello.mxml

 

                  <?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:widget="*">

    <mx:Script>

          <![CDATA[

                import mx.controls.Alert;

                private function btnClick() : void {

                      Alert.show("test","Test");

                }

          ]]>

    </mx:Script>

    <mx:Button id="bb" x="107" y="37" label="Button" click="btnClick()"/>

    <widget:CLogin x="107" y="94" width="204" height="117">

    </widget:CLogin>

</mx:Application>

 

                                    好了,一切完成。

 

                        自定义组件的属性:

                                   

看到这里大家也都应该清楚地知道,大部分Flex控件都有事件属性,比如clickmove等,自定义组件会继承他们Based on 的元素的属性和事件,那么我们的CLogin组件(也可以称之为自定义元素)就会继承mx:TitleWindow的全部可以继承的属性(属性、事件、特效、样式等等),那么它的特有属性如何来做呢?下面我们来为其加上其特有属性。

 

加入自定义属性:

 

示例代码CLogin.mxml

 

<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" width="286" height="208" layout="absolute" title="用户登录">

                        <mx:Script>

                              <![CDATA[

                                    [Inspectable]

                                    public var status : String;

                              ]]>

      </mx:Script>

                                                <mx:Form width="248" height="100" label="Button" x="

分享到:
评论

相关推荐

    flex 分页控件

    本篇文章将详细介绍如何在Flex中创建自定义的分页控件及其相关知识点。 首先,我们要理解Flex的组件架构。Flex组件库包含了一系列预定义的UI组件,如Button、List等,但有时我们需要根据项目需求定制特定的组件。在...

    flex基本控件总结

    在Flex中,控件是构建用户界面的基本元素,本篇文章将深入探讨Flex的基本控件,包括文本控件、数据源控件以及菜单控件等。 首先,我们来看文本控件,主要包括Label、Text、TextInput和TextArea。 1. Label(标签)...

    Flex仿苹果风格的滑块开关控件

    本篇文章将深入探讨如何在Flex中实现这样一个功能丰富的滑块控件,并分享一个实际的范例。 首先,我们要了解Flex的基础。Flex是Adobe开发的一个开源框架,主要用于构建富互联网应用程序(RIA)。它基于ActionScript...

    基于WEB的Flash 统计图控件(Flex---FusionCharts_Evaluation v3)及其中文开发指南

    总之,“基于WEB的Flash统计图控件(Flex---FusionCharts_Evaluation v3)及其中文开发指南”是学习和掌握使用Flex和FusionCharts创建交互式图表的重要资源。通过深入学习和实践,开发者可以充分利用这两个工具,为Web...

    Flex4 Spark皮肤

    通过上述介绍,我们可以了解到在Flex4中自定义控件样式的方法。`SparkSkin` 和 `Skin` 类提供了强大的工具来定制界面的外观。无论是通过MXML还是ActionScript,甚至是CSS样式表,都可以轻松地应用这些自定义皮肤到...

    《Flex企业应用开发实战》源代码

    7. **chapter1**:通常是入门篇,介绍Flex开发环境的准备,Flex SDK和Flex Builder的安装,以及第一个Flex程序的创建,为后续的学习打下基础。 通过这些源代码,读者不仅能够加深对Flex编程的理解,还能学习到企业...

    从头开发Flex树遇到的问题

    这篇博客文章“从头开发Flex树遇到的问题”很可能讲述了作者在创建自定义Flex Tree组件时所面临的挑战和解决方案。Flex是Adobe推出的一种用于构建富互联网应用程序(RIA)的开源框架,它基于ActionScript和MXML,可以...

    ArcGIS_Flex.rar_ArcGIS flex_ArcGIS_Flex_NavigationSkin.mxml_arc

    在本篇文章中,我们将深入探讨ArcGIS Flex的基本概念、应用实例以及`NavigationSkin.mxml`这一关键组件的作用。 1. ArcGIS Flex基础 ArcGIS Flex是ArcGIS Server服务与Adobe Flex技术的完美结合,它提供了一系列的...

    ArcGIS API for Flex library(整理)

    2. **设计TOC控件**:使用Flex的UI组件设计自定义的TOC控件。 3. **绑定图层与控件**:将图层信息与TOC控件绑定,允许用户通过TOC控件控制图层的显示状态。 ### 四、ArcGIS Server 9.3 和 ArcGIS API for Flex 实现...

    flex通过my97实现时分秒

    这篇博文“flex通过my97实现时分秒”似乎探讨了如何将My97日期时间控件集成到Flex项目中,以实现对时间的精确选择,包括小时、分钟和秒。 1. Flex基础:Flex是Adobe公司推出的一个开源开发框架,主要用于创建具有...

    flex学习笔记

    #### 二、Flex3 基础篇 - **Flex 特性**: - **跨平台**:支持 Windows、Mac OS 和 Linux。 - **高性能**:利用 Flash Player 的强大渲染引擎。 - **丰富用户体验**:提供强大的 UI 控件和动画效果。 - **Flex...

    acrgis api for flex鹰眼图实现

    本篇文章将详细探讨如何使用ArcGIS API for Flex来实现这一功能。 ArcGIS API for Flex是由Esri公司提供的一个强大的开发库,它允许开发者在Flex环境中创建交互式的Web GIS应用程序。Flex是一种基于ActionScript ...

    TM_C_081113_ArcGIS-API-for-Flex-教程_v1.00.pdf

    **3.3 自定义控件的开发** - 学习如何开发自定义的 Flex 控件。 - 实现控件的功能和外观自定义。 **3.4 与 GOOGLE MAP 的融合** - 探讨如何将 ArcGIS API for Flex 与 Google Maps API 结合使用。 - 实现地图服务...

    Flex基础培训-3-组件和布局

    本篇文档主要关注Flex中的组件和布局概念。 1. **DataGrid组件**:DataGrid是Flex中用于显示和管理表格数据的关键组件。它允许开发者展示数据集合,并且可以与后端数据源进行绑定。开发者可以通过DataGrid组件实现...

    Flex3 ADVANCED DATA VISUALIZATION

    本篇将根据《Flex3高级数据可视化开发指南》的相关内容进行深入解读,旨在帮助开发者更好地理解和掌握Flex3在数据可视化方面的应用技巧。 #### Flex3 数据可视化概述 Flex3是一个开源的、免费的框架,它允许开发者...

    arcgis_api_for_flex_2_1

    本篇将详细阐述其核心概念、主要功能以及如何利用它进行实际开发。 1. **核心概念** - ArcGIS Server:ArcGIS API for Flex依赖于ArcGIS Server提供地图服务,后者是Esri的服务器端GIS平台,负责处理地图数据、...

    Flex皮肤总结

    这篇博客将深入探讨Flex皮肤的相关知识点,帮助开发者更好地理解和定制自己的Flex应用界面。 1. **什么是Flex皮肤** Flex皮肤是一种可替换的外观层,允许开发者根据需求改变组件的视觉表现。皮肤由XML和...

Global site tag (gtag.js) - Google Analytics