我正在努力制作我的第一个 Flex 移动应用程序(虽然我对 Flex 并不陌生),但我在第一个障碍中绊倒了。
我无法让ViewNavigatorApplication在尝试将firstView与状态一起使用时显示视图,例如firstView.phone、firstView.tablet。
我只剩下一个空白的操作栏和内容区域。
如果我尝试设置firstView没有状态(例如firstView="view.HomeView"),则视图加载正常。
这是代码:
<s:ViewNavigatorApplication
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
firstView.phone="views.HomeView"
firstView.tablet="views.TabletHomeView"
applicationDPI="160"
creationComplete="initApplication()">
<s:states>
<s:State name="portraitPhone" stateGroups="portrait, phone"/>
<s:State name="landscapePhone" stateGroups="landscape, phone"/>
<s:State name="portraitTablet" stateGroups="portrait, tablet"/>
<s:State name="landscapeTablet" stateGroups="landscape, tablet"/>
</s:states>
<fx:Style source="assets/css/application.css"/>
<fx:Script>
<![CDATA[
import mx.events.ResizeEvent;
private var isPortrait:Boolean;
private var isTablet:Boolean;
private function initApplication():void
{
addEventListener(ResizeEvent.RESIZE, resizeHandler);
addEventListener(Event.ADDED_TO_STAGE, resizeHandler);
}
private function resizeHandler(event:*):void
{
isPortrait = (stage.height > stage.width);
isTablet = (stage.height > 950 || stage.width > 950);
currentState = (isPortrait ? "portrait" : "landscape") + (isTablet ? "Tablet" : "Phone");
}
]]>
</fx:Script>
</s:ViewNavigatorApplication>
我已经用谷歌搜索死了,阅读了ViewNavigatorApplication规范,没有发现其他人有这个问题或任何证据表明我只是做错了(尽管我仍然怀疑是这种情况)。
提前致谢!