Flex中实现页面的跳转以下几种方式: 1、使用ViewStack组件,把要跳转的页新建成 MXML Component,然后 ...
Flex关于页面跳转的方式,我是直接贴的,博客中很多很多,我只是贴过来然后结合实际应用中分析下那种方式最好。 Flex中实现页面的跳转以下几种方式:
1、使用ViewStack组件,把要跳转的页新建成 MXML Component,然后通过 ViewStack 组件把这些页包含进来,然后再通过改变ViewStack的selectedItem或者electedChild来切换这些页。
2、使用navigateToURL,主要方式如下: var url:String = "http://localhost:8080/Flex_Java_Demo/welcome.html"; 这个方法页面切换时会弹出新的页面,而不是只变换 url
3、引用flash中的 import flash.external.ExternalInterface 这个接口, 它能提供像jsp中window.location.href方法一样方便,主要代码为:
4、使用组件技术,把不同的页面做成component,然后通过TabNavigator等进行切换,通过使用state实现跳转。
5、把不同的页面做成Module,然后使用ModuleLoder来进行加载切换。
|
1、ViewStack,TabNavigator之类的组件
把页面做成Component然后用ViewStack包含进来,实现页面之间的切换,而HTML并没有刷新,ViewStack只是实现了flash里面的页面切换。
- <mx:ViewStack id="storeViews" width="100%" height="550" creationPolicy="all">
- <shouye id="page1" label="page1" showEffect="WipeDown" hideEffect="WipeUp" />
- <leixing id="page2" label="page2" showEffect="WipeDown" hideEffect="WipeUp" />
- <make id="page3" label="page3" showEffect="WipeDown" hideEffect="WipeUp" />
- </mx:ViewStack>
- <!-- 然后再用别的组件切换这些页,比如用 Button -->
- <mx:Button click="storeViews.selectedChild=page1;" />
<mx:ViewStack id="storeViews" width="100%" height="550" creationPolicy="all"> <shouye id="page1" label="page1" showEffect="WipeDown" hideEffect="WipeUp" /> <leixing id="page2" label="page2" showEffect="WipeDown" hideEffect="WipeUp" /> <make id="page3" label="page3" showEffect="WipeDown" hideEffect="WipeUp" /> </mx:ViewStack> <!-- 然后再用别的组件切换这些页,比如用 Button --> <mx:Button click="storeViews.selectedChild=page1;" />
2、flash.net.navigateToURL直接页面重定向
navigateToURL (request:URLRequest, window:String = null):void
在包含 Flash Player 容器的应用程序(通常是一个浏览器)中,打开或替换一个窗口。
|
如
- var
- request:URLRequest = new URLRequest("163.com");
- navigateToURL(request,"_blank");
var request:URLRequest = new URLRequest("163.com"); navigateToURL(request,"_blank");
3、flash.external.ExternalInterface调用外部 API
call (functionName:String, ... arguments):*
[] 调用由 Flash Player 容器公开的函数,不传递参数或传递多个参数。
|
- ExternalInterface.call("
- function(){
- window.location.href='http://163.com';
- }");
< mx:Script >
<! [CDATA[
import mx.managers.PopUpManager; private var vboxw:VBox = new VBox();
// 这是一打开就弹出来的窗口
private function init(): void {
PopUpManager.addPopUp(vboxw, this , true );
}
// 这是点击后要弹出的,(注:要求在vboxw后面弹出)
private var clikwindos:VBox = new VBox();
private function clikup(): void
{
PopUpManager.addPopUp(clikwindos, this , true ); // 这里怎么设置呢感谢大师帮助.
}
// 还有就是有时场景中会弹出多个窗口,请问最后弹出的窗口能不能加到,已弹出窗口的背面呢谢谢.
]] >
</ mx:Script >
< mx:Button label = " Launch TitleWindow " click = " clikup() " />
</ mx:Application >
- public function jumpTo(toUrl:String):void
- {
- m1.url=toUrl;
- m1.loadModule();
- }
- //其它地方法调用
- this.parentApplication.jumpTo(url);