Flex之PopUpManager addpop/removepop effect and html in flex

 

main
<?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">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>

<fx:Script>
<![CDATA[
import mx.effects.Blur;
import mx.effects.Move;
import mx.effects.Resize;
import mx.effects.easing.Elastic;
import mx.events.TweenEvent;
import mx.managers.PopUpManager;

public
function popuphandler():void
{
var basewindow:BaseWindow = new BaseWindow();

basewindow.title
= "drag me please";
basewindow.width
= 600;
basewindow.height
= 400;
// basewindow.addEventListener(MouseEvent.MOUSE_DOWN, alert_mouseDown, true);

/*获取弹出的位置*/
var _x:int = (parent.width - basewindow.width)/2;
var _y:int = (parent.height - basewindow.height)/2;

/*初始化我们实现效果要用到的实例*/
var movePop:Move = new Move();
// movePop.easingFunction = Elastic.easeInOut;
movePop.duration = 800;

var resize:Resize = new Resize();
resize.duration
= 800;
// resize.easingFunction = Elastic.easeInOut;

var blur:Blur = new Blur();
blur.duration
= 800;
blur.blurXFrom
= 30;
blur.blurXTo
= 0;
blur.blurYFrom
= 30;
blur.blurYTo
= 0;

/*开始动画过程*/
movePop.xFrom
= (parent.width - 10)/2;
movePop.yFrom = (parent.height - 10)/2;
movePop.xTo = _x;
movePop.yTo
= _y;
resize.widthFrom
= 50;
resize.heightFrom
= 50;
resize.heightTo
= basewindow.height;
resize.widthTo
= basewindow.width;

/*开始动画的时间*/
// movePop.startDelay = 3000;
//
resize.startDelay = 3000;

/*设置动画目标*/
blur.target
= basewindow;
movePop.target
= basewindow;
resize.target
= basewindow;
PopUpManager.addPopUp(basewindow,
this, true);
// PopUpManager.centerPopUp(basewindow);


blur.play();
movePop.play();
resize.play();

// basewindow = PopUpManager.createPopUp(this, BaseWindow, true) as BaseWindow;
//
PopUpManager.centerPopUp(basewindow);
basewindow.isPopUp = false;
//removepop进行的特效,如果需要的话
//blur.addEventListener(TweenEvent.TWEEN_END,function removepop():void{PopUpManager.removePopUp(basewindow);});
}


private
function alert_mouseDown(evt:MouseEvent):void {
evt.stopImmediatePropagation();
}

]]
>
</fx:Script>
<s:Button label="pop-up google" click="popuphandler();"/>
</s:Application>

 

window of html
<?xml version="1.0" encoding="utf-8"?>
<s:TitleWindow close="PopUpManager.removePopUp(this);"
xmlns:fx
="http://ns.adobe.com/mxml/2009"
xmlns:mx
="library://ns.adobe.com/flex/mx"
xmlns:s
="library://ns.adobe.com/flex/spark" xmlns:iframe="com.blue.flex.lib.iframe.*"
creationComplete
="init();">
<fx:Script>
<![CDATA[
import mx.managers.PopUpManager;
import mx.core.FlexGlobals;
[Bindable] private
var cm:ContextMenu;
[Bindable] private
var myContextMenuItem:ContextMenuItem;

public
function init():void
{
// this.isPopUp = false;
}

private
function addItemToContextMenu():void
{
// Create new instance of contextMenuItem (put your own text in it :-))
myContextMenuItem = new ContextMenuItem("保存", false, true, true);
// Add event listener (handles the click on the item)
myContextMenuItem.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, myContextMenuItem_menuItemSelect);

// Get the Context Menu
cm = FlexGlobals.topLevelApplication.contextMenu;
// Hide default context menu items
cm.hideBuiltInItems();
// Add item
cm.customItems.push(myContextMenuItem);
}

private
function myContextMenuItem_menuItemSelect(evt:ContextMenuEvent):void {
// Navigate to Flex-Blog.com when the item is clicked
navigateToURL(new URLRequest("http://www.flex-blog.com"));
}
]]
>
</fx:Script>

<iframe:IFrame id="google" source="http://www.baidu.com" width="100%" height="100%"/>
</s:TitleWindow>

 

 

posted @ 2010-07-19 10:46  spencer.IQ  阅读(536)  评论(0)    收藏  举报