As方式重写Flex组件基本步骤
1、如有必要,为组件创建所有基于标记(tag-based)的皮肤(skins)
2、newAs类文件
<1>从一个基类扩展,如UIComponent等
<2>指定使用者可以通过MXML标记设置的属性
<3>嵌入(Embed)图片和Skins文件,文件尽可能小
<4>实现构造器,可以设置属性和样式的缺省值,或者初始化数据结构,比如数组
<5>根据需要,确定是否覆盖以下方法:
(a)UIComponent.createChildren(),创建组件的子组件
(b)UIComponent.commitProperties(),提交组件所有属性变化
(c)UIComponent.measure(),设置组件缺省size(measuredWidth、measureHeight)和缺省最小size(measureMinWidth、measuredMinHeight)
(d)UIComponent.layoutChrome(),定义容器的边框区域和确定边框区域的位置,及确定要在区域中显示的附加元素。eg:Panel容器使用layoutChrome()定义panel容器的title区域,这个区域用来包含title文本和close按钮。
(e)UIComponent.updateDisplayList(),据以前设置的属性和样式确定组件的子组件在屏幕上的大小(size)及位置(position),并且画出组件所使用的所有皮肤(skins)及图形化元素。组件的父容器负责确定组件本身的size.
(6)增加属性(properties),方法(methods),样式(styles),事件(events)以及原数据