UIComponent:
组件的基类,所有可视化组件从这继承,而且它是Sprit的子类,具有绘图功能。
RadioButtonGroup:控制一组的radioButton。
ApplicationControlBar:实现工具栏
ButtonBar一组button的集合。
LinkBar将一组LinkButton组合起来
List 定义自己的itemRenderer对象,对获得的数据进行解析,使得List组件的内容不再局限于文字,还可以是图片及其他内容
DataGrid组件:将数据以行,列的格式显示出来。特征如下:
l 调整列的宽度;
l 调整列的顺序;
l 点击列标题排序;
l 定义每个单元格的itemRenderer,类似于formatOperate函数,方法是在canvas中定义要在单元格中显示的控件,
l 可以定义headerRender和itemEditor,要使用itemEditor必须把DataGrid的editable设为true
Tree组件:使用xml为Tree生成数据很合适,
TileList:综合了Tile和List的优点,在一行上可显示多余一个item,好处是可以用itemRenderer定制显示方式
NumericStepper:实现数字的选择,防止格式错误
Text相当于Label,要支持html标签,使用htmlText实现
TextInput相当于html中的Text
TextArea
RichTextEditor类似于csdn中博客编辑器
当使用的字体在客户机上没有时,有两种替代方式,一般使用设备字体(_sans,serif, _typewriter)在CSS中定义;但如果在动画效果Fade(淡入淡出效果),Rotate,disolve(溶解)就必须使用嵌入字体,可以指定嵌入字体的范围,从而减少字体文件大小,方法是frameworks/flex-config.xml中的fonts.
ToggleButtonBar效果不是很好看
TabBar不包含其他子级容器,与ViewStack一起使用,通过TabBar的itemClick事件的关联,可以实现选项卡效果,不知道和TabNavigator有什么不一样
菜单:使用MenuBar实现全局导航,支持XML和数组作为数据源。应该可以使用二维数组和xml实现多级菜单功能。
PopUPBotton右侧有下拉箭头的button,当点击下拉箭头时,可以将任何组件作为窗口弹出,如树,列表等,比较重要的事件是open和close, open在窗口弹出时触发,close在关闭时触发。
PopUpMenuButton继承自PopUpButton只能将menu控件当做弹出窗口,实现右键菜单,或pannel中的下拉菜单,尽量不要使用一级菜单。并可以指定其为图片(小三角)
画板使用Panel嵌套Canvas构成,使用Canvas的graphics属性,对 Mousedown,up,move事件监听并处理完成完成画线功能,
使用SWFLoader完成图片的加载
指定ProgressBar的source指明衣服的对象,该对象必须自行检测加载进度并派发process事件和completed事件。
使用VideoDisplay完成flv的播放,也可以和progressBar配合
Container:
容器的基类,管理UIComponent对象布局的组件容器,其中getChildren()用于获取子组件的数组、getChildAt(),numChildren获取子组件的数量。而Container除了子组件外,还有其内部对象如边框、背景等,可通过 rawChildren获得。
1. Application由layout控制整个界面的布局
2. Canvas只能由x和y坐标来定位,在ActionScript中设置%的长和宽,需要使用percentWidth和percentHeight;
3. Vbox和Hbox采取水平和垂直方向的排序
4. DivideBox: HdivideBox和VdivideBox在子元素之间加入了可以拖动的分割块。liveDragging是否拖动
5. Panel的layout属性为absolute,则相当于Canvas,值为horizontal则为Hbox,值为vertical则为Vbox; title属性表示标题,使用容器ControllBar放置按钮
6. TitleWindow多了一个关闭按钮
7. 对话框:使用PopUPManager.addPopUp()和removePopUp弹出
1. Tile指定每行显示个数,当要显示超出个数,则自动转到下一行,适合显示个数未知的动态数据。
2. Grid类似于表格,可以对每个子元素进行布局
1. Accordion:可折叠的导航器,包含一个子面板列表,但每次只显示一个面板,类似于危险源的菜单
2. ViewStack:由若干重叠在一起的子容器组成,每次只有一个容器是可见和活动的。
3. TabNavigator:选项卡,其中可包含Cavas,Panel等内容作为一个选项卡
Mx:Form mx:FormHeading mx:FormItem完成内容
验证
包含文件
添加样式订一块
使用getStyle和setStyle 运行时改变,大型程序中,比较影响效率,尽量避免使用
使用StyleMananger类
设置多个相同的样式:使用全局的类型样式,或者给对象定义一个样式
一个配置完整的样式包,样式包定义的色彩和外观形成一种表现风格,类似于skin,一般以SWC文件存放,已提供的样式:frameworks/themes文件夹下
使用:在flex-config.xml的theme标签中设置
通过CSS修改外观,有两种方式:
嵌入图像资源:
嵌入图像时,为了保证缩放不失真,使用九格缩放的功能,在Embed中指定scaleGridTop scaleGridBotttom scaleGridLeft scaleGridRigth属性指定中间区域的大小。
通过程序绘制:
覆盖ProgrammaticSkin的updateDisplayList方法
将新建的类嵌入到样式中
在SWF中可包含多个外观文件,可以代替图片载入。在做fla时已经加入了九格缩放功能,嵌入SWF文件时不需要。利用SWF可以在背景中加入动画效果,丰富程序的界面