0

私は 2 つの画面 (つまり、mxml windowedapplication) がある flex でデスクトップ アプリケーションを開発しています。ある画面から別の画面 (mxml ファイルから別の画面) に移動したいのですが、どうすればよいですか?

4

2 に答える 2

1

方法はたくさんありますが、おそらく次のいずれかを使用します。

  1. 状態を使用して画面を変更できます
  2. ViewStackまたは他のナビゲーターを使用できます。
于 2012-04-24T12:58:41.130 に答える
0

デスクトップアプリケーションでViewNavigatorを使用できますが、いくつかのトリックを行う必要があります

  1. プロジェクトの StageOrientationEvent クラスに追加します

    パッケージ flash.events {

    public class StageOrientationEvent extends Event
    {
        static public const ORIENTATION_CHANGE:String = "orientationChange";
        static public const ORIENTATION_CHANGING:String = "orientationChanging";
    
        public function StageOrientationEvent(type:String, bubbles:Boolean=false, cancelable:Boolean=false)
        {
            super(type, bubbles, cancelable);
        }
    }
    

    }

  2. ViewNavigator の新しいスキンを作成する

    < s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:fb="http:/ /ns.adobe.com/flashbuilder/2009" alpha.disabled="0.5" >

    <fx:Metadata>[HostComponent("spark.components.ViewNavigator")]</fx:Metadata>
    
    <fx:Script fb:purpose="styling">
        <![CDATA[         
    
            override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number) : void
            {
                super.updateDisplayList(unscaledWidth, unscaledHeight);
            }
        ]]>        
    </fx:Script>
    
    <s:states>
        <s:State name="normal" />
        <s:State name="disabled" />
        <s:State name="landscape" />
        <s:State name="portrait" />
        <s:State name="landscapeAndOverlay" />
        <s:State name="portraitAndOverlay" />
    </s:states>
    
    <s:Group id="contentGroup" left="0" right="0" top="0" bottom="0" minWidth="0" minHeight="0">
        <s:layout>
            <s:BasicLayout/>
        </s:layout>
    </s:Group>
    

    < /s:スキン>

  3. プロジェクトに mobilecomponents.swc を追加します (flex sdk フォルダーにあります。私の場合、パスは C:\Program Files\Adobe\Adobe Flash Builder 4.6\sdks\4.6.0\frameworks\libs\mobile\mobilecomponents.swc です)。 )

  4. 新しい ViewNavigator スキン (手順 2) を ViewNavigator に割り当てます。

ViewNavigator インスタンスに直接:

<s:ViewNavigator skinClass="path.to.skin.ViewNavigatorSkin"/>

またはcssでグローバルに

s|ViewNavigator{
     skinClass: ClassReference("path.to.skin.ViewNavigatorSkin");
}
于 2012-04-25T07:39:15.240 に答える