通过AS文件来自定义flex中的组件。

按照flex的源码编程风格。应该注意以下几点:

l  参数要用private类型

l  参数名称要用_开头

l  设置去掉_以后,作为函数名称的set get 方法,需要是public的方法

l  注意:这些set get方法是在构造函数执行以后在调用,因此不能在构造里面对这些参数进行处理,否则会报错

下面是一个简单的自定义slider。功能是:可以通过数组驱动来确定slider的最大,最小值

 

  1. package com.firemax.controls.sliderClasses
  2. {
  3.     import mx.controls.sliderClasses.Slider;
  4.     public class Slider extends mx.controls.sliderClasses.Slider
  5.     {
  6.         public function Slider()
  7.         {
  8.             super();
  9.         }
  10.         
  11.         private var _dataArray:Array;
  12.         public function set dataArray(valueArray:Array):void
  13.         {
  14.             _dataArray= valueArray;
  15.             minimum = 0;
  16.             maximum = _dataArray.length;
  17.             this.tickInterval =1;
  18.         }
  19.         
  20.         public function get dataArray():Array{
  21.             return  _dataArray;
  22.         }
  23.     
  24.     }
  25. }
 
调用方法的mxml文件写法
  1. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"   xmlns:firemax="com.firemax.controls.*">
  2.         <mx:Script>
  3. <![CDATA[
  4. [Bindable]
  5. private var sliderDataArray:Array=new Array("a", "b", "c");
  6. ]]>
  7. </mx:Script>
  8.         <firemax:HSlider  dataArray="{sliderDataArray}" x="40" y="368" width="200" height="33"/>
  9. </mx:Application>
posted @ 2012-02-18 14:05  张良  阅读(311)  评论(0编辑  收藏  举报