天天看點

Flex 頁面跳轉 四種方法

在學習Flex的過程中,你可能會遇到Flex頁面跳轉的問題,本文和大家分享一下,頁面在flex裡面其實就是一個個的 Canvas,vbox,hbox等等之類的東西,看到的不同頁面的切換,就是這些元素一層層的堆積,或者替換,但是為了好了解,還是稱之為"頁面跳轉"。

Flex頁面跳轉

其實對于這個題目是不恰當的,因為flex中是沒有頁面這個概念的,頁面在flex裡面其實就是一個個的Canvas,vbox,hbox等等之類的東西,看到的不同頁面的切換,就是這些元素一層層的堆積,或者替換,但是為了好了解,還是稱之為"頁面跳轉"。其實我們可以對比傳統的C/S開發模式,沒頁面跳轉,隻有窗體和元件的顯示和隐藏。

那麼怎麼實作Flex頁面跳轉呢,我總結了下,主要有一下幾種方式:

1、使用ViewStack元件,具體代碼如下所示:把要跳轉的頁建立成MXMLComponent,然後通過ViewStack元件把

這些頁包含進來

   1. <mx:ViewStackidmx:ViewStackid="storeViews"width="100%"height="550"creationPolicy="all">

   2. <shouyeidshouyeid="homeView"label="首頁"showEffect="WipeDown"hideEffect="WipeUp"/>

   3. <leixingidleixingid="pView"label="模闆類型"showEffect="WipeDown"hideEffect="WipeUp"/>

   4. <makeidmakeid="supportView"label="立即制作"showEffect="WipeDown"hideEffect="WipeUp"/>

   5. </mx:ViewStack>

然後再用别的元件切換這些頁,比如用Button

   1. <mx:Buttonclickmx:Buttonclick="storeViews.selectedChild=homeView;"/>

2、使用navigateToURL,主要方式如下:

   1. varurl:String="http://localhost:8080/Flex_J2eeDemo/bin/Welcome.html"; 

   2. varrequest:URLRequest=newURLRequest(url); 

   3. navigateToURL(request,"_blank");

但是這個方法很郁悶就是頁面切換總是彈出新的頁面,而不是隻變換url

3、也是我采用的方法,就是引用flash中的importflash.external.ExternalInterface這個接口,他能提供像jsp中window.location.href方法一樣友善,Flex頁面跳轉主要代碼為:

   1. ExternalInterface.call("function() 

   2. {window.location.href='http://localhost:8080/Flex_J2eeDemo/bin/Welcome.html';} 

   3. 

   4. "); 

4、使用元件技術,把不通的頁面做成component,然後通過TabNavigator等進行切換,通過使用state實作跳轉。

最後總結下吧:在Flex中,根本就沒有頁面的概念,有的隻有狀态,Flex是通過改變不同的狀态在我們的Application中實作不同頁面的平滑變換。目前已有人提出使用"棧"的"後進先出"的思想等等方法來實作,當然還有其他的方法,但是都需要我們的不斷探索、挖掘。

上一篇: Flex導出Excel
下一篇: 讀後感