Flex 学习笔记(转载)

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值