把最近的知识整理一下
Flex开发实现:模块化
在Flex技术中,通过模块化实现多界面效果,每个界面对应一个Flex模块,界面切换就是在主界面的ModulerLoader组件中,动态加载不同的Module类型的子界面。
Module类型的Flex源文件是不能自动编译的,需手动配置:properties-->Flex application--> add
事件机制
事件传播依次经历 “捕获”、“目标”、“冒泡”、“目标” 四个阶段,事件流呈现 V 字型,事件对象沿着传播路径先由外向内传播,然后再由内向外传播。最常用到的是在冒泡阶段对事件进行捕捉。
1、定义事件
- 必须继承flash.events.Event类
- 必须在自定义的构造函数中调用基类的构造函数,同时传递事件类型
- 如果在事件中传递数据,则可以通过定义一个或多个公有变量来实现
public class myEvent extends Event{
//自定义事件名称
public static var EVENT_NAME:String="CustomEvent";
//自定义事件携带数据的变量
public var someString:String;
public function myEvent(eName:String){
//调用基类的构造函数,传进去事件的名称
super(eName);
}
}
2、发出事件
button1.dispatchEvent(myEvent);
3、捕捉事件
panel1.addEventListener(event1.EVENT_NAME,handler);
4、在捕捉/目标阶段捕捉事件
设置addEventListener的第三个参数useCapture为true,这样,事件监听函数就会在事件的捕捉阶段捕捉事件。
5、在冒泡/目标阶段捕捉事件
在定义事件的时候,显示地设置基类的构造函数第二个参数bubbles为true,这样事件就会向外层冒泡:
super(par_eventName,true);
国际化
建立文件如下:
把properties文件转化成swf文件:cmd进入到flex sdk目录下bin文件夹运行如下代码
mxmlc -locale=en_US -source-path=E:/work/rm/assets/locale/{locale} -allow-source-path-overlap=true -include-resource-bundles=collections,containers,controls,core,effects,rm,skins,styles -output=E:/rm_res_en.swf
zh_CN亦然。
Flex页面加载事件顺序:1、initialize 2、creationComplete 3、applicationComplete