Flex 让组件动起来
来源:互联网 发布:有关人工智能电影 编辑:程序博客网 时间:2024/05/01 12:31
flex下创建组件、模块是无法移动的,但是我们发现这些对象都实现了UIComponent,通过UIComponent的startDrag、stopDrag方法便可让它可拖动。
组件代码
packageMoveComponent
工程代码:{import flash.events.Event;import flash.events.MouseEvent;import mx.core.UIComponent;import spark.components.Group;import spark.components.SkinnableContainer;import MoveComponent.skinComponent;public class MComponent extends SkinnableContainer{[SkinPart(required="false")]public var MainGroup:Group;[SkinPart(required="false")]public var titleGroup:Group;[SkinPart(required="false")]public var conGroup:Group;public function MComponent(){super();this.setStyle("skinClass", skinComponent);}protected override function partAdded(partName:String, instance:Object):void{super.partAdded(partName, instance);if (instance == MainGroup){MainGroup.addEventListener(MouseEvent.MOUSE_DOWN, mouse_downHandler);MainGroup.addEventListener(MouseEvent.MOUSE_UP, mouse_upHandler);}if (instance == titleGroup){titleGroup.addEventListener(MouseEvent.MOUSE_DOWN, mouse_downHandler);titleGroup.addEventListener(MouseEvent.MOUSE_UP, mouse_upHandler);}}public function mouse_downHandler(event:MouseEvent):void{titleGroup.addEventListener(MouseEvent.MOUSE_MOVE, mouse_moveHandler);MainGroup.addEventListener(MouseEvent.MOUSE_MOVE, mouse_moveHandler);}private function mouse_moveHandler(event:MouseEvent):void{this.alpha=0.7;var widget:UIComponent=parent as UIComponent;widget.startDrag();}private function mouse_upHandler(event:MouseEvent):void{titleGroup.removeEventListener(MouseEvent.MOUSE_MOVE, mouse_moveHandler);MainGroup.removeEventListener(MouseEvent.MOUSE_MOVE, mouse_moveHandler);this.alpha=1;var widget:UIComponent=parent as UIComponent;widget.stopDrag();widget.x=appWidth - widget.width - 10;}}}
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:MoveComponent="MoveComponent.*">
<fx:Script>
<![CDATA[
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<MoveComponent:MComponent id="MC" height="400" width="300">
</MoveComponent:MComponent>
</s:Application>
0 0
- Flex 让组件动起来
- 让下划线动起来
- 让位图动起来!
- 让精灵动起来
- 让大脑动起来
- 让动画动起来
- 让cube动起来
- 让图片动起来
- DEM:让ERP动起来
- 让照片真正动起来
- 让google map 动起来
- 线程------让画面动起来
- 让 Angular 应用动起来!
- 5.让场景动起来
- 『Asp.Net 组件』Asp.Net 服务器组件 内嵌JS:让自己的控件动起来
- 让你的网页文字动起来。。。
- 让你和办公室动起来
- 让你的图标动起来
- 创建GitHub技术博客全攻略
- CSS3第二日--圆角边框
- maven mybatis generator自动生成代码
- Eclipse打war包
- 关于android 联系人数据库处理
- Flex 让组件动起来
- nodejs 设置proxy
- php导出excel表格
- Android Studio更新升级方法
- Swift开发IOS-UIButton
- window.open打开新窗口,防止浏览器阻止弹窗解决办法
- 转:Linux下/etc/shadow文件全面详解
- 影响布局的inline-block的空白符的问题
- oracle中merge into的用法