Flex页面跳转
其实对于这个题目是不恰当的,因为flex中是没有页面这个概念的,页面在flex里面其实就是一个个的Canvas,vbox,
hbox等等之类的东西,看到的不同页面的切换,就是这些元素一层层的堆积,或者替换,但是为了好理解,还是称之为
"页面跳转"。其实我们可以对比传统的C/S开发模式,没页面跳转,只有窗体和元件的显示和隐藏。
那么在flex中怎么实现页面的跳转了,我总结了下,主要有一下几种方式:
1、使用ViewStack组件,具体代码如下所示:把要跳转的页新建成 MXML Component,然后通过 ViewStack 组件把
这些页包含进来
<mx:ViewStack id="storeViews" width="100%" height="550" creationPolicy="all">
<shouye id="homeView" label="首 页" showEffect="WipeDown" hideEffect="WipeUp" />
<leixing id="pView" label="模板类型" showEffect="WipeDown" hideEffect="WipeUp" />
<make id="supportView" label="立即制作" showEffect="WipeDown" hideEffect="WipeUp" />
</mx:ViewStack>
然后再用别的组件切换这些页,比如用 Button
<mx:Button click="storeViews.selectedChild=homeView;" />
效果:
见附件sample3.zip
2、使用navigateToURL,主要方式如下:var url:String = "http://localhost:8080/Flex_J2eeDemo/bin/Welcome.html";
var request:URLRequest = new URLRequest(url);
相关文档:
方法一:
<?xml version="1.0"?>
<!-- events/MultipleEventHandlersInline.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script><![CDATA[
private function submitForm(e:Event):void {
// Handle event here.
......
现在flash builder 4已经自带了多种语言包,在使用的时候直接拿过来用就可以了,在使用资源文件的时候,需要设置一下资源参数
-locale=en_US,zh_CN -source-path=locale/{locale}
flex 3.x的版本的sdk只支持英文和日文,如果需要中文,则可以从flex
4.xsdk的\frameworks\locale拷贝zh_CN等文件夹到flex3.x的\frameworks ......
(注:采用fb4 beta1开发,由于兼容问题,可以适当加以修改放到自己的环境中,测试的时候需要放到服务器上面,本人的测试url为
http://127.0.0.1/astest/asjs.html?msnum=13112345678)
mxml文件:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" creation ......
flex中在DisplayObject里直接用stage,可能会是null,原因不是太清楚,找到了解决办法,当接收到ADDED_TO_STAGE事件时,stage肯定被创建出来了,这个时候再使用就没有问题。
addEventListener( Event.ADDED_TO_STAGE, function( e:Event ):void ??
{
stage.addEventListener(KeyboardEvent.KEY_DO ......
最终我决定还是用“隐藏”这个不是很合适的词。mx_internal是一个自定义命名空间,至于“命名空间”到底是什么就不在这里说了。总之,当我们在代码头部写上:
use namespace mx_internal
(如果是.AS文件,需要手动import mx.core.mx_internal,注意这个不会有代码提示)
那么所有以mx_internal为命 ......