通过AS文件来自定义flex中的组件。
按照flex的源码编程风格。应该注意以下几点:
l 参数要用private类型
l 参数名称要用_开头
l 设置去掉_以后,作为函数名称的set get 方法,需要是public的方法
l 注意:这些set get方法是在构造函数执行以后在调用,因此不能在构造里面对这些参数进行处理,否则会报错
下面是一个简单的自定义slider。功能是:可以通过数组驱动来确定slider的最大,最小值
- package com.firemax.controls.sliderClasses
- {
- import mx.controls.sliderClasses.Slider;
- public class Slider extends mx.controls.sliderClasses.Slider
- {
- public function Slider()
- {
- super();
- }
- private var _dataArray:Array;
- public function set dataArray(valueArray:Array):void
- {
- _dataArray= valueArray;
- minimum = 0;
- maximum = _dataArray.length;
- this.tickInterval =1;
- }
- public function get dataArray():Array{
- return _dataArray;
- }
- }
- }
调用方法的mxml文件写法
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:firemax="com.firemax.controls.*">
- <mx:Script>
- <![CDATA[
- [Bindable]
- private var sliderDataArray:Array=new Array("a", "b", "c");
- ]]>
- </mx:Script>
- <firemax:HSlider dataArray="{sliderDataArray}" x="40" y="368" width="200" height="33"/>
- </mx:Application>