加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex 学习笔记(一)

发布时间:2020-12-15 01:08:58 所属栏目:百科 来源:网络整理
导读:Flex 学习笔记 1.??????flex弹出子页面: 1). 首先导入包:import mx.manager.PopUpManager; 2). 指定子页面:var childwin:add_member = new add_member();就是想弹出的页面 3). 指定父页面,就是谁想弹出页面: ?????????? Childwin.owner = this; ??????

Flex 学习笔记

1.??????flex弹出子页面:

1). 首先导入包:import mx.manager.PopUpManager;

2). 指定子页面:var childwin:add_member = new add_member();就是想弹出的页面

3). 指定父页面,就是谁想弹出页面:

?????????? Childwin.owner = this;

?????????? This是想弹出页面的页面,根据需要进行设定;

4). ?PopUpManager.addPopUp(childwind,this,true);

5). PopUpManager.centerPopUp(childwin);

?

相对的关闭(卸载)所弹出的页面则需要:

?????????? PopUpManager.removePopUp(childwin);

2.??????在按钮事件中,判断是哪个触发事件要用:event.target=“按钮id”。首先也要引入相应的包。

3.??????在AdvancedDataGrid中嵌入checkbox或者是ComboBox:

<mx:DataGridColumn>

???????? <mx:itemRenderer>

?????????????????? <fx:Component>

??????????????????????????? <mx:checkbox />或者是<mx:ComboBox />

?????????????????? </fx:component>

???????? </mx:itemRenderer>

</mx:DataGridColumn>

4.??????SWFLoader自适应屏幕的大小:

mainTainAspectRatio=”false”scaleContent=”true”

5.??????ModuleManager卸载模块的问题:

IModuleInfo.unload(url);只是删除moduleManager中模块的引用,而没有卸载swf文件。从显示列表中删除模块,需调用父显示对象的removechild方法。

6.??????为flex组件添加背景图片时,可用BorderContainer的backgroundImage属性;

添加背景色用:chromeColor属性

7.??????MouSEOve放大的行为效果:

有时候需要当鼠标放置在某个组件上时,需要该组件变大;首先要在组件上定义一个rollOver=rolloverHandler(event)事件;

然后在<fx:Declarations>标签组中写两句话:

<s:Scale id=”rotateOver”

scaleYFrom=”1”?scaleYTo=”2” ?//y轴放大2倍;也可以是小数

scaleXFrom=”1”?scaleXTo=”2” ?//x轴放大2倍;

??????? />

???????? 然后:functionrolloverHandler(Event:MouseEvent):void{

?????????????????? if(rotateOver.isPlaying){

?????????????????? ???????? rotateover.reverse();

?????????????????? }else{

?????????????????? ???????? rotateOver.play([event.target],event.type=MouseEvent.MOUSE_OVER?true:false);

???????? ???????? }

???????? }

当鼠标离开时该组件则需要返回默认的状态:先定义rollOut=rollOutHandler(event)事件,其余的跟上述的代码相反;

8.??????换肤的问题:

换肤曾经困扰我很长时间,但是做出来之后发现确实非常的简单。

1).在每个css文件上右键选中“装换为swf文件”。就是当css有改动时,系统给都会自动转换为swf文件;

2). 用StyleManager.loadStyleDeclarations(“swf文件的具体路径”,true);

注:swf文件的具体路径可以到bin-debug目录下去找;true是指立即刷新。该换皮肤;

Css文件最好在默认包下,否则在编译时有可能会报错;

9.??????关于tabNavigator

如何设置组件的标签卡tab的位置:

可以用tabOffset来设置。tabOffSet以像素为单位来设置标签的位置,向右移为证书,向左移为负值。用tabWidt、tabHeight来设定选项卡的宽和高;

10.??动态载入组件的问题:

可以像这样来动态加载一个组件:

private function init():void{???

??????? _moduleInfo= ModuleManager.getModule("member/mem_guide.swf");?????

??????? _moduleInfo.addEventListener(ModuleEvent.READY,moduleLoadHandler);

??????? _moduleInfo.load();?

}

private functionmoduleLoadHandler(evt:ModuleEvent):void{

??????? mem_can.addChild(_moduleInfo.factory.create()as DisplayObject);?? //有了这行,才能把模块引进过来,才能执行子模块代码

}

注:member/mem_guide.swf是所要动态引入的组件的具体路径;

Mem_can是父容器;

11.??Flex声明变量:

var 变量名:类型; 或者:var 变量名:类型 = new 类型;

如: var?abc:int;

?????????? Var ?abc:Array = new Array[];

变量的访问权限有

Public:可以在类内部访问,也可以由类实例访问,或者声明为static时,可以直接从类访问. Private:只能在类本身内部访问,按惯例,命名私有成员时以下划线"_"开头;

Internal:可以由类本身或者相同包内的任何类访问;

Protected:可以由类本身或任何子类访问.但这是以实例为基础的.换言之,类实例可以访问自己的保护成员或者父类的保护成员,但不能访问相同类的其它实例的保护成员,命名保护成员时以下划线"_"开头;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读