私は 2 つの画面 (つまり、mxml windowedapplication) がある flex でデスクトップ アプリケーションを開発しています。ある画面から別の画面 (mxml ファイルから別の画面) に移動したいのですが、どうすればよいですか?
2 に答える
デスクトップアプリケーションでViewNavigatorを使用できますが、いくつかのトリックを行う必要があります
プロジェクトの 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); } }
}
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:スキン>
プロジェクトに mobilecomponents.swc を追加します (flex sdk フォルダーにあります。私の場合、パスは C:\Program Files\Adobe\Adobe Flash Builder 4.6\sdks\4.6.0\frameworks\libs\mobile\mobilecomponents.swc です)。 )
新しい ViewNavigator スキン (手順 2) を ViewNavigator に割り当てます。
ViewNavigator インスタンスに直接:
<s:ViewNavigator skinClass="path.to.skin.ViewNavigatorSkin"/>
またはcssでグローバルに
s|ViewNavigator{
skinClass: ClassReference("path.to.skin.ViewNavigatorSkin");
}