自定义Flex事件,实现组件间传递事件
1.首先定义一个Event类,假设类名为PhotosEvent。 packagecom.exhdLib ???????? ?? //下面两个方法都是定义事件的属性 } 2.然后“调用”,在控制条(ToolBar)里相应的地方,写派发的事件。 //我们调用的事件,就是在PhotosEvent类里定义好的,清楚吧。 //注意前面要引用一下PhotosEvent类 dispatchEvent(new PhotosEvent(PhotosEvent.PAUSEMOVE)); 3.最后“响应”,有两种方法: ? 一种是添加监听事件,在Main.mxml里添加如下代码 ? ?? import com.exhdLib.PhotosEvent; import flash.events.Event; ? ? ? ? private function Init():void { Toolbar.addEventListener(PhotosEvent.PAUSEMOVE,PausePhoto); } private function PausePhoto(Event:PhotosEvent):void { ? ? ? ? ?//dosomthing } ? ? ? ?? ?一种是在ToolBar组件里增加响应方法: //注意红色的必须和PhotosEvent里的事件名称相同PauseMove <mx:Metadata> ? ? ? ?[Event(name="PauseMove",type="com.exhdLib.PhotosEvent")] </mx:Metadata> ? ?? ?这样就可以在Main.mxml直接调用这个方法了 ?<ToolBar:BarContral id="Toolbar" PauseMove="doSomethingCode"? width="100%" height="20%"XML_URL="data/photo.xml"/> ? ? 两种方法效果一样,就看个人喜好了(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |