- 2007-10-14 (Sun) 3:47
- FlexFramework | Flex3 | Flex2
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使ってちゃんとそれぞれ名前付けておくのが一番良いのかなぁ。という感じですね。
でもそれなりの規模のものを作っていて、それぞれの画面をきちんとコンポーネント化して作るような場合には結構便利なのかもしれないですね。
- Newer: [AS3]includeとimport
- Older: [Flex]ポップアップウインドウの作り方
Comments:0
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