`

Flex中自定义组件

    博客分类:
  • flex
 
阅读更多
如要重写组件,就不得不了解Flex中组件初始化过程。初始化过程中,系统依次调用组件的一下方法

Constructor -> createChildren() -> commitProperties() -> measure() -> updateDisplayList()

介绍下各个函数的作用:

Constructor构造器,不用说了吧

createChildren用来创建组件的子对象(比如你在Panel里添加了个Button,就在这时addChild)

commitProperties用来设置各个对象的属性(例如x,y坐标等等)

measure用来计量该组件的大小(以便Flex布局管理器能正确知道该组件的大小,给其分配适当空间)
updateDisplayList用来重绘组件(在组件改变大小、移动位置等时候调用)

添加了可视化元素的自定义组建(说得直白点,就是样子和基类组件不同了),必须要重写createChildren()函数和updateDisplayList()函数。

当自定义的组建需要对传入的某个属性做出反应的话,就应该重写commitProperties函数。

当自定义的组件和基类组件的大小不一致时,就应该重写measure方法,保证提供正确的大小信息。

<--- 注意重写以上方法时,要先调用基类的相应方法 --->

以下是一个自定义组件,在Panel的右上角新加了一个按钮

package com.lheric
{
import mx.containers.Panel;
import mx.controls.Button;

public class MaxRestorePanel extends Panel
{
//新增的按钮
protected var _maxMinBtn:Button;
//按钮与边缘的间隔
protected var _gap:int = 5;


public function MaxRestorePanel()
{
super();
}

protected override function createChildren():void {
//base class
super.createChildren();
//custom
_maxMinBtn = new Button;
_maxMinBtn.width = 50;
_maxMinBtn.height = 10;
rawChildren.addChild( _maxMinBtn );
}

protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
//base class
super.updateDisplayList(unscaledWidth,unscaledHeight);
//custom
//size
_maxMinBtn.setActualSize( 20, 20 );
//position
var x:int = unscaledWidth - _maxMinBtn.width - _gap;
var y:int = _gap;
_maxMinBtn.move( x, y );
}
}
}
分享到:
评论

相关推荐

    Flex4自定义组件开发.pdf

    在Flex4中,自定义组件的开发变得尤为重要,因为它允许开发者创建高度定制化的UI组件,以满足特定的应用需求。 #### 二、Spark组件架构剖析 Flex4采用了全新的Spark组件架构,与之前的Flex3(Halo组件架构)相比有...

    flex 高级自定义组件

    Flex中的高级自定义组件开发是构建复杂用户界面的关键技术,它允许开发者超越基本组件的限制,以满足特定的业务需求和视觉设计。在创建高级组件时,了解并掌握一些核心方法的重写至关重要,这些方法涉及到组件的生命...

    flex自定义组件介绍

    标题中的“flex自定义组件介绍”指的是在Adobe Flex框架中创建和使用自定义组件的过程。Flex是一个基于ActionScript和MXML的开源框架,用于构建富互联网应用程序(RIA)。自定义组件允许开发者根据特定需求扩展Flex...

    各种Flex自定义组件

    在标题“各种Flex自定义组件”中,我们可以推断这是一个包含多种定制Flex组件的资源集合。这些组件可能包括时间选择器、数据网格(datagrid)、树形视图(tree)和下拉组合框(combox)。每个组件都有其特定的用途和...

    flex4自定义组件皮肤

    在Flex4中,自定义组件皮肤是提升应用视觉效果和用户体验的重要手段。下面将详细介绍如何在Flex4中自定义组件皮肤。 1. **组件皮肤的基本概念** - 组件皮肤是Flex中改变组件外观的一种方式,通过定义不同的皮肤,...

    flex/flash自定义组件(搜索栏)

    本文主要探讨如何在Flex中自定义组件,特别是针对一个搜索栏的实现。在提供的压缩包中,我们有`searchField.fla`、`searchField.swf`以及`documentClasses`这三个文件,它们分别代表了不同阶段的开发过程。 1. **...

    flex 自定义组件

    Flex自定义组件是Adobe Flex框架中的一个重要特性,它允许开发者创建具有特定功能和外观的UI元素,以满足项目中独特的用户界面需求。Flex是一个开源的、基于MXML和ActionScript的开发框架,主要用于构建富互联网应用...

    Flex 自定义组件ImageViewer

    在Flex中,自定义组件是开发者根据项目需求创建的特殊UI元素,可以扩展和定制标准的MX或Spark组件。本示例着重于一个名为“ImageViewer”的自定义组件,这通常是一个用于展示图像并可能包含缩放、平移等交互功能的...

    Flex3自定义组件类似于Fieldset

    Flex3自定义组件类似于Fieldset

    flex自定义组件事件DEMO

    4. 示例学习:在"flex自定义组件事件DEMO"中,你可以看到如何在自定义组件中创建并派发自定义事件,以及如何在其他地方监听和响应这些事件。通过分析代码,可以了解事件生命周期、事件冒泡和捕获的概念,以及如何在...

    Flex4 自定义组件皮肤小结

    在Flex4中,自定义组件皮肤是提升应用界面美观度和用户体验的重要手段。Flex4引入了全新的皮肤架构,使得开发者可以更加灵活地控制组件的外观和交互效果。本篇文章将围绕Flex4自定义组件皮肤进行深入讲解,并结合...

    Flex 分页组件,flex自定义组件

    在Flex中,分页组件通常是自定义组件,因为Flex的标准库并未提供内置的分页解决方案。开发者通常需要根据实际需求来设计和实现这样的组件。以下是对Flex分页组件的详细解释: 1. **分页机制**:分页的核心是将大...

    Flex自定义组件和事件

    ### 一、Flex自定义组件 #### 1. 创建自定义组件的原因 在Flex应用中,有时标准组件库提供的组件无法满足特定的设计或功能需求。此时,开发者需要创建自定义组件来扩展Flex的功能,以实现个性化设计或定制化行为。...

    flex4自定义事件用法

    在Flex应用中,事件处理是核心功能之一,它使得组件之间能够有效地通信。自定义事件是Flex开发中的一个重要概念,允许开发者扩展内置事件系统,以满足特定项目的需要。下面将详细介绍Flex4自定义事件的用法,以及...

    flex3自定义组件之间的拖拽事件处理

    因为工作原因和个人兴趣原因,刚接触flex,遇到不少问题,这次花了一个早上的时间专门研究了一下组件件的拖拽,呵呵,还是很有成就感的。

    Flex各自定义组件事件通讯例子

    下面将详细解释Flex自定义组件、事件处理以及它们在实际应用中的作用。 一、Flex自定义组件 Flex自定义组件是指开发者根据项目需求,通过继承已有的Flex基类(如UIComponent或Canvas),并添加特定功能和样式来创建...

    Flex Mobile自定义实现的弹出对话框

    在Flex中,我们可以通过继承UIComponent或者Canvas等基础组件来创建自定义组件。在组件中,我们可以设计对话框的布局、样式和功能。 2. **设计界面**:对话框通常包含标题、内容区域和按钮。在Flex中,我们可以使用...

    第五章 自定义组件开发 第一节 自定义Flex组件

    7. **使用组件**:最后,可以在MXML文件中像使用其他Flex组件一样使用自定义组件。 在实际开发中,我们还可能遇到一些高级话题,如组件的皮肤ning(Skinning)、状态管理(States)以及组件的性能优化。组件皮肤...

    flex3自定义DownloadProgressBar

    在Flex中,自定义组件是通过继承已有的UIComponent或Flex提供的其他基类,然后添加所需的功能和视觉元素来实现的。对于DownloadProgressBar,我们可能需要继承 mx.controls.ProgressBar 类,它是Flex提供的一种用于...

    flex图片放大镜组件,自定义组件

    本案例中提到的"flex图片放大镜组件"就是这样一个自定义组件,它专为图片展示站点设计,提供了一个便捷的方式来实现图片的放大效果,从而提升用户体验。 首先,我们来理解一下“flex”这个词。在前端布局中,...

Global site tag (gtag.js) - Google Analytics