Home > FlexFramework | Flex3 | Flex2 > [Flex]ViewStackの画面切り替え

[Flex]ViewStackの画面切り替え

ViewStackを使って、画面を切り替えるにはindexかidを使うけど、
Class名を使うという手もあるよ、という記事から。

Flex cookbook beta
Selecting a view in a ViewStack just by its Class

実際に書くとこんな感じです。

< ?xml version="1.0" encoding="utf-8"?>
< mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
 < mx:Script>
  < ![CDATA[
   import mx.core.ComponentDescriptor;
   // 切り替えのスイッチになる変数
   [Bindable]
   public var actualView:Class = TitleWindow;

   private function getView(viewClass:Class):int{
    // ViewStackの持つ子画面の配列を取得
    var descriptors:Array = views.childDescriptors;
    for(var i:int=0;i
 < mx:ViewStack id="views" selectedIndex="{getView(actualView )}" width="100%" height="100%">
  < mx:TitleWindow title="TitleWindowView" width="80%" height="80%"/>
  < mx:Panel title="PanelView" width="80%" height="80%"/>
 < /mx:ViewStack>
 < mx:HBox width="100%">
  < mx:Button label="TitleWindow" click="actualView=TitleWindow"/>
  < mx:Button label="Panel" click="actualView=Panel"/>
 < /mx:HBox>
< /mx:Application>

この方法を使うと、ViewStackに積むそれぞれのViewを全部違うクラスにしなくちゃいけないので、結局id使ってちゃんとそれぞれ名前付けておくのが一番良いのかなぁ。という感じですね。
でもそれなりの規模のものを作っていて、それぞれの画面をきちんとコンポーネント化して作るような場合には結構便利なのかもしれないですね。

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.jinten.net/blog/archives/25/trackback
Listed below are links to weblogs that reference
[Flex]ViewStackの画面切り替え from Jinten Blog

Home > FlexFramework | Flex3 | Flex2 > [Flex]ViewStackの画面切り替え

Search
Google
Feeds
Meta
Advertisement

Return to page top