只要是设计器就逃不脱对组件的动态调整。比如大小,位置是最常见的。
在flashBuilder中可以看到下面效果图:
在此简单实现,更多细节不予考虑,有点伤到我的神经了,总体设计思路图:
由resizeUI完成核心功能。
ResizeContainer容器类:
package org.forever.view
{
import flash.events.MouseEvent;
import mx.collections.ArrayList;
import mx.core.IUIComponent;
import spark.components.SkinnableContainer;
/**容器类*/
public class ResizeContainer
{
private var _app_container:SkinnableContainer;
private var _current_resizeUI:ResizeUI;
private var _resizeUIList:ArrayList;
public function get mouseMoveCallFun():Function
{
return _mouseMoveCallFun;
}
public function set mouseMoveCallFun(value:Function):void
{
_mouseMoveCallFun = value;
}
private var _mouseMoveCallFun:Function;
public function ResizeContainer(app_container:SkinnableContainer){
_app_container = app_container;
initContainer();
_resizeUIList = new ArrayList();
}
public function get current_resizeUI():ResizeUI
{
return _current_resizeUI;
}
public function set current_resizeUI(value:ResizeUI):void
{
if(null!=_current_resizeUI){
_current_resizeUI.hideResizeUI();
}
_current_resizeUI = value;
}
public function register(uicomp:IUIComponent):void{
var _resizeUI:ResizeUI = new ResizeUI(uicomp,_app_container);
_resizeUI.resizeContainer = this;
_resizeUIList.addItem(_resizeUI);
}
public function initContainer():void{
_app_container.addEventListener(MouseEvent.MOUSE_DOWN,appContainerMouseDownHandler);
_app_container.addEventListener(MouseEvent.MOUSE_MOVE,appContainerMouseMoveHandler);
_app_container.addEventListener(MouseEvent.MOUSE_UP,appContainerMouseUpHandler);
}
public function appContainerMouseDownHandler(event:MouseEvent):void{
event.stopImmediatePropagation();
if(null!=_current_resizeUI){
_current_resizeUI.hideResizeUI();
}
}
public function appContainerMouseMoveHandler(event:MouseEvent):void{
if(null != _mouseMoveCallFun){
_mouseMoveCallFun(event);
}
}
public function appContainerMouseUpHandler(event:MouseEvent):void{
if(null != _mouseMoveCallFun){
_mouseMoveCallFun = null;
if(null!=_current_resizeUI)_current_resizeUI.updateUIComp();
}
}
}
}
ResizeUI调整类:
package org.forever.view
{
import flash.display.DisplayObject;
import flash.display.MorphShape;
import flash.events.MouseEvent;
import flash.ui.Mouse;
import mx.controls.Alert;
import mx.controls.Image;
import mx.core.IUIComponent;
import mx.core.IVisualElement;
import mx.core.UIComponent;
import mx.graphics.SolidColorStroke;
import mx.logging.ILogger;
import mx.logging.Log;
import mx.managers.CursorManager;
import spark.components.BorderContainer;
import spark.components.SkinnableContainer;
import spark.components.mediaClasses.VolumeBar;
import spark.primitives.Line;
/**
*调整UI组件的一个类,类似在flashBuilder对组件的一个调整功能
*/
public class ResizeUI{
private var _resizeContainer:ResizeContainer;
private static var _log:ILogger = Log.getLogger("org.forever.report.view.ResizeUI");
private var _uiComp:IUIComponent;
private var _container:SkinnableContainer;
private var _centerRect:BorderContainer;
private var _leftTopRect:BorderContainer;
private var _rightTopRect:BorderContainer;
private var _leftBottomRect:BorderContainer;
private var _rightBottomRect:BorderContainer;
private var _topCenterRect:BorderContainer;
private var _leftCenterRect:BorderContainer;
private var _bottomCenterRect:BorderContainer;
private var _rightCenterRect:BorderContainer;
private var _leftTopTopCenterLine:Line;
private var _topCenterRightTopLine:Line;
private var _leftTopLeftCenterLine:Line;
private var _leftCenterLeftBottomLine:Line;
private var _leftBottomBottomCenterLine:Line;
private var _bottomCenterRightBottomLine:Line;
private var _rightCenterRightBottomLine:Line;
private var _rightTopRightCenterLine:Line;
private var _rect_w:Number = 6;
private var _startMove:Boolean = false;
private var _moving:Boolean = false;
public function get resizeContainer():ResizeContainer
{
return _resizeContainer;
}
public function set resizeContainer(value:ResizeContainer):void
{
_resizeContainer = value;
}
/**初始化中间矩形*/
public function initCenterRect():void{
_centerRect = new BorderContainer();
_centerRect.setStyle("borderColor","ffffff");
_centerRect.alpha = 1;
_centerRect.visible = false;
_container.addElement(_centerRect);
}
/**初始化所有矩形*/
public function initAllRectProp():void{
_leftTopRect = new BorderContainer();
_rightTopRect = new BorderContainer();
_leftBottomRect = new BorderContainer();
_rightBottomRect = new BorderContainer();
_topCenterRect = new BorderContainer();
_leftCenterRect = new BorderContainer();
_bottomCenterRect = new BorderContainer();
_rightCenterRect = new BorderContainer();
initRectProp(_leftTopRect);
initRectProp(_rightTopRect);
initRectProp(_leftBottomRect);
initRectProp(_rightBottomRect);
initRectProp(_topCenterRect);
initRectProp(_leftCenterRect);
initRectProp(_bottomCenterRect);
initRectProp(_rightCenterRect);
}
/**初始化所有线条*/
public function initAllLine():void{
_leftTopTopCenterLine = new Line();
_leftTopTopCenterLine.stroke = new SolidColorStroke(0x70b2ee);
_topCenterRightTopLine = new Line();
_topCenterRightTopLine.stroke = new SolidColorStroke(0x70b2ee);
_leftTopLeftCenterLine = new Line();
_leftTopLeftCenterLine.stroke = new SolidColorStroke(0x70b2ee);
_leftCenterLeftBottomLine = new Line();
_leftCenterLeftBottomLine.stroke = new SolidColorStroke(0x70b2ee);
_leftBottomBottomCenterLine = new Line();
_leftBottomBottomCenterLine.stroke = new SolidColorStroke(0x70b2ee);
_bottomCenterRightBottomLine = new Line();
_bottomCenterRightBottomLine.stroke = new SolidColorStroke(0x70b2ee);
_rightCenterRightBottomLine = new Line();
_rightCenterRightBottomLine.stroke = new SolidColorStroke(0x70b2ee);
_rightTopRightCenterLine = new Line();
_rightTopRightCenterLine.stroke = new SolidColorStroke(0x70b2ee);
_container.addElement(_leftTopTopCenterLine);
_container.addElement(_topCenterRightTopLine);
_container.addElement(_leftTopLeftCenterLine);
_container.addElement(_leftCenterLeftBottomLine);
_container.addElement(_leftBottomBottomCenterLine);
_container.addElement(_bottomCenterRightBottomLine);
_container.addElement(_rightCenterRightBottomLine);
_container.addElement(_rightTopRightCenterLine);
}
public function ResizeUI(uiComp:IUIComponent,container:SkinnableContainer){
_uiComp = uiComp;
_container = container;
initCenterRect();
initAllRectProp();
updateCenterRect();
initAllLine();
_uiComp.addEventListener(MouseEvent.MOUSE_DOWN,uiCompMouseDownHandler);
_uiComp.addEventListener(MouseEvent.MOUSE_MOVE,uiCompMouseMoveHandler);
_uiComp.addEventListener(MouseEvent.MOUSE_UP,uiCompMouseUpHandler);
_centerRect.addEventListener(MouseEvent.MOUSE_UP,centerRectMouseUpHandler);
_centerRect.addEventListener(MouseEvent.MOUSE_MOVE,centerRectMouseMoveHandler);
_rightCenterRect.addEventListener(MouseEvent.MOUSE_DOWN,rightCenterMouseDownHandler);
_topCenterRect.addEventListener(MouseEvent.MOUSE_DOWN,topCenterRectMouseDownHandler);
_bottomCenterRect.addEventListener(MouseEvent.MOUSE_DOWN,bottomCenterRectMouseDownHandler);
_leftCenterRect.addEventListener(MouseEvent.MOUSE_DOWN,leftCenterRectMouseDownHandler);
_rightTopRect.addEventListener(MouseEvent.MOUSE_DOWN,rightTopRectMouseDownHandler);
_rightBottomRect.addEventListener(MouseEvent.MOUSE_DOWN,rightBottomRectMouseDownHandler);
_leftTopRect.addEventListener(MouseEvent.MOUSE_DOWN,leftTopRectMouseDownHandler);
_leftBottomRect.addEventListener(MouseEvent.MOUSE_DOWN,leftBottomRectMouseDownHandler);
}
public function uiCompMouseDownHandler(event:MouseEvent):void{
event.stopImmediatePropagation();
_resizeContainer.current_resizeUI = this;
_startMove = true;//点击组件做移动准备
_moving = false;//并未真正移动
_log.debug("_centerRect准备开始移动......");
updateCenterRect();
showResizeUI();
}
public function updateUIComp():void{
_uiComp.x = _leftTopRect.x + _leftTopRect.width;
_uiComp.y = _leftTopRect.y + _leftTopRect.height;
_uiComp.width = _rightTopRect.x - _leftTopRect.x - _leftTopRect.width;
_uiComp.height = _leftBottomRect.y - _leftTopRect.y - _leftTopRect.height;
_log.debug("updateUIComp.........");
updateCenterRect();
}
public function updateCenterRect():void{
_centerRect.x = _uiComp.x;
_centerRect.y = _uiComp.y;
_centerRect.width = _uiComp.width;
_centerRect.height = _uiComp.height;
_log.debug("updateCenterRect.....");
}
public function uiCompMouseMoveHandler(event:MouseEvent):void{
if(_startMove && !_moving){
_uiComp.visible = false;
_centerRect.visible = true;
_centerRect.startDrag();
_moving = true;
_log.debug("_centerRect开始移动......");
}
}
public function centerRectMouseMoveHandler(event:MouseEvent):void{
refreshResizeUI();
}
public function centerRectMouseUpHandler(event:MouseEvent):void{
stopCenterRectMove();
refreshResizeUI();
}
public function stopCenterRectMove():void{
_startMove = false;
_moving = false;
_centerRect.stopDrag();
_uiComp.x = _centerRect.x;
_uiComp.y = _centerRect.y;
_uiComp.visible = true;
_centerRect.visible = false;
_log.debug("停止_centerRect的移动........");
}
public function uiCompMouseUpHandler(event:MouseEvent):void{
stopCenterRectMove();
}
public function rightCenterMouseOverHandler(event:MouseEvent):void{
Mouse.hide();
}
public function rightCenterMouseOutHandler(event:MouseEvent):void{
Mouse.show();
}
public function leftBottomRectMouseDownHandler(event:MouseEvent):void{
event.stopImmediatePropagation();
_resizeContainer.mouseMoveCallFun = updateLeftBottomRectCall;
}
public function updateLeftBottomRectCall(event:MouseEvent):void{
updateLeftCenterRectCall(event);
updateBottomCenterRectCall(event);
}
public function leftTopRectMouseDownHandler(event:MouseEvent):void{
event.stopImmediatePropagation();
_resizeContainer.mouseMoveCallFun = updateLeftTopRectCall;
}
public function updateLeftTopRectCall(event:MouseEvent):void{
updateTopCenterRectCall(event);
updateLeftCenterRectCall(event);
}
public function rightBottomRectMouseDownHandler(event:MouseEvent):void{
event.stopImmediatePropagation();
_resizeContainer.mouseMoveCallFun = updateRightBottomRectCall;
}
public function updateRightBottomRectCall(event:MouseEvent):void{
updateRightCenterRectCall(event);
updateBottomCenterRectCall(event);
}
public function rightTopRectMouseDownHandler(event:MouseEvent):void{
event.stopImmediatePropagation();
_resizeContainer.mouseMoveCallFun = updateRightTopRectCall;
}
public function updateRightTopRectCall(event:MouseEvent):void{
updateRightCenterRectCall(event);
updateTopCenterRectCall(event);
}
public function leftCenterRectMouseDownHandler(event:MouseEvent):void{
event.stopImmediatePropagation();
_resizeContainer.mouseMoveCallFun = updateLeftCenterRectCall;
}
public function updateLeftCenterRectCall(event:MouseEvent):void{
_leftCenterRect.x = _container.mouseX;
_leftTopRect.x = _leftCenterRect.x;
_leftBottomRect.x = _leftCenterRect.x;
updateLeftTopLeftCenterLine();
updateLeftCenterLeftBottomLine();
updateLeftTopTopCenterLine();
updateLeftBottomBottomCenterLine();
updateTopCenterRect();
updateBottomCenterRect();
updateTopCenterRightTopLine();
updateBottomCenterRightBottomLine();
}
public function bottomCenterRectMouseDownHandler(event:MouseEvent):void{
event.stopImmediatePropagation();
_resizeContainer.mouseMoveCallFun = updateBottomCenterRectCall;
}
public function updateBottomCenterRectCall(event:MouseEvent):void{
_bottomCenterRect.y = _container.mouseY;
_leftBottomRect.y = _bottomCenterRect.y;
_rightBottomRect.y = _bottomCenterRect.y;
updateLeftBottomBottomCenterLine();
updateBottomCenterRightBottomLine();
updateLeftCenterLeftBottomLine();
updateRightCenterRightBottomLine();
updateLeftCenterRect();
updateRightCenterRect();
updateLeftTopLeftCenterLine();
updateRightTopRightCenterLine();
}
public function topCenterRectMouseDownHandler(event:MouseEvent):void{
event.stopImmediatePropagation();
_resizeContainer.mouseMoveCallFun = updateTopCenterRectCall;
}
public function updateTopCenterRectCall(event:MouseEvent):void{
_topCenterRect.y = _container.mouseY;
_leftTopRect.y = _topCenterRect.y;
_rightTopRect.y = _topCenterRect.y;
updateLeftTopTopCenterLine();
updateTopCenterRightTopLine();
updateLeftTopLeftCenterLine();
updateRightTopRightCenterLine();
updateLeftCenterRect();
updateRightCenterRect();
updateLeftCenterLeftBottomLine();
updateRightCenterRightBottomLine();
}
public function rightCenterMouseDownHandler(event:MouseEvent):void{
event.stopImmediatePropagation();
_resizeContainer.mouseMoveCallFun = updateRightCenterRectCall;
}
public function updateRightCenterRectCall(event:MouseEvent):void{
_rightCenterRect.x = _container.mouseX;
_rightTopRect.x = _rightCenterRect.x;
_rightBottomRect.x = _rightCenterRect.x;
updateRightTopRightCenterLine();
updateRightCenterRightBottomLine();
updateTopCenterRightTopLine();
updateBottomCenterRightBottomLine();
updateTopCenterRect();
updateBottomCenterRect();
updateLeftBottomBottomCenterLine();
updateLeftTopTopCenterLine();
}
public function updateRightCenterRect():void{
_rightCenterRect.y = (_rightTopRect.y + _rightBottomRect.y)/2;
}
public function updateLeftCenterRect():void{
_leftCenterRect.y = (_leftTopRect.y + _leftBottomRect.y)/2;
}
public function updateTopCenterRect():void{
_topCenterRect.x = (_leftTopTopCenterLine.xFrom + _topCenterRightTopLine.xTo)/2;
}
public function updateBottomCenterRect():void{
_bottomCenterRect.x = (_leftBottomBottomCenterLine.xFrom + _bottomCenterRightBottomLine.xTo)/2;
}
public function initRectProp(_rect:BorderContainer):void{
_rect.width = _rect_w;
_rect.height = _rect_w;
_rect.visible = false;
_rect.setStyle("borderColor","#70B2EE");
_container.addElement(_rect);
}
public function refreshResizeUI():void{
_leftTopRect.x = _centerRect.x-_leftTopRect.width;
_leftTopRect.y = _centerRect.y -_leftTopRect.height;
_rightTopRect.x = _centerRect.x + _centerRect.width;
_rightTopRect.y = _centerRect.y - _leftBottomRect.height;
_leftBottomRect.x = _centerRect.x-_leftBottomRect.width;
_leftBottomRect.y = _centerRect.y + _centerRect.height;
_rightBottomRect.x = _centerRect.x + _centerRect.width;
_rightBottomRect.y = _centerRect.y + _centerRect.height;
_topCenterRect.x = _centerRect.x + _centerRect.width/2 -_topCenterRect.width/2 ;
_topCenterRect.y = _centerRect.y - _topCenterRect.height;
_leftCenterRect.x = _centerRect.x - _leftCenterRect.width;
_leftCenterRect.y = _centerRect.y + _centerRect.height/2 - _leftCenterRect.height/2;
_bottomCenterRect.x =_centerRect.x + _centerRect.width/2 -_topCenterRect.width/2 ;
_bottomCenterRect.y = _centerRect.y + _centerRect.height;
_rightCenterRect.x = _centerRect.x + _centerRect.width;
_rightCenterRect.y = _centerRect.y + _centerRect.height/2 - _leftCenterRect.height/2;
showAllRect();
updateLeftTopTopCenterLine();
updateBottomCenterRightBottomLine();
updateLeftBottomBottomCenterLine();
updateLeftCenterLeftBottomLine();
updateLeftTopLeftCenterLine();
updateTopCenterRightTopLine();
updateRightCenterRightBottomLine();
updateRightTopRightCenterLine();
_log.debug("refreshResizeUI............");
}
public function showAllRect():void{
_leftTopRect.visible = true;
_rightTopRect.visible = true;
_leftBottomRect.visible = true;
_rightBottomRect.visible = true;
_topCenterRect.visible = true;
_leftCenterRect.visible = true;
_bottomCenterRect.visible = true;
_rightCenterRect.visible = true;
}
public function hideResizeUI():void{
hideAllRect();
hideAllLine();
}
public function showAllLine():void{
_leftTopTopCenterLine.visible = true;
_topCenterRightTopLine.visible = true;
_leftTopLeftCenterLine.visible = true;
_leftCenterLeftBottomLine.visible = true;
_leftBottomBottomCenterLine.visible = true;
_bottomCenterRightBottomLine.visible = true;
_rightCenterRightBottomLine.visible = true;
_rightTopRightCenterLine.visible = true;
}
public function hideAllLine():void{
_leftTopTopCenterLine.visible = false;
_topCenterRightTopLine.visible = false;
_leftTopLeftCenterLine.visible = false;
_leftCenterLeftBottomLine.visible = false;
_leftBottomBottomCenterLine.visible = false;
_bottomCenterRightBottomLine.visible = false;
_rightCenterRightBottomLine.visible = false;
_rightTopRightCenterLine.visible = false;
}
public function hideAllRect():void{
_leftTopRect.visible = false;
_rightTopRect.visible = false;
_leftBottomRect.visible = false;
_rightBottomRect.visible = false;
_topCenterRect.visible = false;
_leftCenterRect.visible = false;
_bottomCenterRect.visible = false;
_rightCenterRect.visible = false;
}
/**显示所有辅助组件拖动的矩形框*/
public function showResizeUI():void{
_leftTopRect.x = _uiComp.x-_leftTopRect.width;
_leftTopRect.y = _uiComp.y -_leftTopRect.height;
_rightTopRect.x = _uiComp.x + _uiComp.width;
_rightTopRect.y = _uiComp.y - _leftBottomRect.height;
_leftBottomRect.x = _uiComp.x-_leftBottomRect.width;
_leftBottomRect.y = _uiComp.y + _uiComp.height;
_rightBottomRect.x = _uiComp.x + _uiComp.width;
_rightBottomRect.y = _uiComp.y + _uiComp.height;
_topCenterRect.x = _uiComp.x + _uiComp.width/2 -_topCenterRect.width/2 ;
_topCenterRect.y = _uiComp.y - _topCenterRect.height;
_leftCenterRect.x = _uiComp.x - _leftCenterRect.width;
_leftCenterRect.y = _uiComp.y + _uiComp.height/2 - _leftCenterRect.height/2;
_bottomCenterRect.x =_uiComp.x + _uiComp.width/2 -_topCenterRect.width/2 ;
_bottomCenterRect.y = _uiComp.y + _uiComp.height;
_rightCenterRect.x = _uiComp.x + _uiComp.width;
_rightCenterRect.y = _uiComp.y + _uiComp.height/2 - _leftCenterRect.height/2;
showAllRect();
updateLeftTopTopCenterLine();
updateBottomCenterRightBottomLine();
updateLeftBottomBottomCenterLine();
updateLeftCenterLeftBottomLine();
updateLeftTopLeftCenterLine();
updateTopCenterRightTopLine();
updateRightCenterRightBottomLine();
updateRightTopRightCenterLine();
showAllLine();
_log.debug("showResizeUI............");
}
public function updateLeftTopTopCenterLine():void{
_leftTopTopCenterLine.xFrom = _leftTopRect.x+_leftTopRect.width;
_leftTopTopCenterLine.yFrom = _leftTopRect.y+_leftTopRect.height/2;
_leftTopTopCenterLine.xTo = _topCenterRect.x;
_leftTopTopCenterLine.yTo = _topCenterRect.y+_leftTopRect.height/2;
}
public function updateBottomCenterRightBottomLine():void{
_bottomCenterRightBottomLine.xFrom = _bottomCenterRect.x + _bottomCenterRect.width;
_bottomCenterRightBottomLine.yFrom = _bottomCenterRect.y + _bottomCenterRect.height/2;
_bottomCenterRightBottomLine.xTo = _rightBottomRect.x;
_bottomCenterRightBottomLine.yTo = _rightBottomRect.y + _rightBottomRect.height/2;
}
public function updateLeftBottomBottomCenterLine():void{
_leftBottomBottomCenterLine.xFrom = _leftBottomRect.x + _leftBottomRect.width;
_leftBottomBottomCenterLine.yFrom = _leftBottomRect.y + _leftBottomRect.height/2;
_leftBottomBottomCenterLine.xTo = _bottomCenterRect.x;
_leftBottomBottomCenterLine.yTo = _bottomCenterRect.y + _bottomCenterRect.height/2;
}
public function updateLeftCenterLeftBottomLine():void{
_leftCenterLeftBottomLine.xFrom = _leftCenterRect.x + _leftCenterRect.width/2;
_leftCenterLeftBottomLine.yFrom = _leftCenterRect.y + _leftCenterRect.height;
_leftCenterLeftBottomLine.xTo = _leftBottomRect.x + _leftBottomRect.width/2;
_leftCenterLeftBottomLine.yTo = _leftBottomRect.y;
}
public function updateLeftTopLeftCenterLine():void{
_leftTopLeftCenterLine.xFrom = _leftTopRect.x + _leftTopRect.width/2;
_leftTopLeftCenterLine.yFrom = _leftTopRect.y + _leftTopRect.height;
_leftTopLeftCenterLine.xTo = _leftCenterRect.x + _leftCenterRect.width/2;
_leftTopLeftCenterLine.yTo = _leftCenterRect.y;
}
public function updateTopCenterRightTopLine():void{
_topCenterRightTopLine.xFrom = _topCenterRect.x+_topCenterRect.width;
_topCenterRightTopLine.yFrom = _topCenterRect.y+_topCenterRect.height/2;
_topCenterRightTopLine.xTo = _rightTopRect.x;
_topCenterRightTopLine.yTo = _rightTopRect.y+_rightTopRect.height/2;
}
public function updateRightCenterRightBottomLine():void{
_rightCenterRightBottomLine.xFrom = _rightCenterRect.x + _rightCenterRect.width/2;
_rightCenterRightBottomLine.yFrom = _rightCenterRect.y + _rightCenterRect.height;
_rightCenterRightBottomLine.xTo = _rightBottomRect.x + _rightBottomRect.width/2;
_rightCenterRightBottomLine.yTo = _rightBottomRect.y;
}
public function updateRightTopRightCenterLine():void{
_rightTopRightCenterLine.xFrom = _rightTopRect.x + _rightTopRect.width/2;
_rightTopRightCenterLine.yFrom = _rightTopRect.y + _rightTopRect.height;
_rightTopRightCenterLine.xTo = _rightCenterRect.x + _rightCenterRect.width/2;
_rightTopRightCenterLine.yTo = _rightCenterRect.y;
}
}
}
简单日志类LogUtil:
package org.forever.log
{
import mx.logging.Log;
import mx.logging.LogEventLevel;
import mx.logging.targets.TraceTarget;
public class LogUtil
{
public function LogUtil()
{
}
public static function initLogging():void {
var logTarget:TraceTarget = new TraceTarget();
logTarget.filters=["*"];
logTarget.level = LogEventLevel.ALL;
logTarget.includeDate = true;
logTarget.includeTime = true;
logTarget.includeCategory = true;
logTarget.includeLevel = true;
/* Begin logging. */
Log.addTarget(logTarget);
}
}
}
例子类ResizeUIDemo.mxml:
<?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"
creationComplete="init()">
<fx:Script>
<![CDATA[
import org.forever.log.LogUtil;
import org.forever.view.ResizeContainer;
import org.forever.view.ResizeUI;
public function init():void{
LogUtil.initLogging();
var _resizeContainer:ResizeContainer = new ResizeContainer(this);
_resizeContainer.register(btn_1);
_resizeContainer.register(btn_2);
_resizeContainer.register(bc);
_resizeContainer.register(lbl);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:Button id="btn_1" x="282" y="125" label="按钮_1"/>
<s:Button id="btn_2" x="71" y="214" label="按钮_2"/>
<s:BorderContainer id="bc" x="111" y="77" width="85" height="69" backgroundColor="#75FA51">
</s:BorderContainer>
<s:Label x="27" y="10" text="点击下面组件进行拖放或者调整大小" width="200" height="24" verticalAlign="middle"/>
<s:Label id="lbl" x="224" y="223" text="标签组件"/>
</s:Application>
效果图:
有时间在继续写了。累了。