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);
相关文档:
新手入门参考:
Adobe Flex 3 - adobe.com
Adobe Flex Sample Applications - adobe.com
Video Training (Learn Flex in a Week) - adobe.com
RSS Feeds (Get regular updates about Flex) - adobe.com
Learn about Flex Open Source - adobe.com
Get Flex 3 SDK - adobe.com
Get Flex Builder 3 - adobe.com ......
最简单的方法是本地化编译,即编译不同的语言版本
,然后使用
Application Server
来判定客户使用的是哪种语言,并自动指向对应的
swf
文件。
具体做法如下:
在项目上点击右键,选择
Properties
。
然后选择
Flex Compiler
,在
Additional Compiler arguments
下面已经配置好语言包了,默认为
-locale en_ ......
<?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">
<fx:Script>
<!--[CDATA[
import mx.rpc.ev ......
flex中在DisplayObject里直接用stage,可能会是null,原因不是太清楚,找到了解决办法,当接收到ADDED_TO_STAGE事件时,stage肯定被创建出来了,这个时候再使用就没有问题。
addEventListener( Event.ADDED_TO_STAGE, function( e:Event ):void ??
{
stage.addEventListener(KeyboardEvent.KEY_DO ......