我是Flex的移动开发新手,有一条基本信息无法找到答案。
我的主要应用程序扩展了<s:TabbedViewNavigatorApplication>
类。对于其他应用程序类,例如<s:ViewNavigatorApplication>
,我可以执行以下操作来在<s:View>
组件之间进行转换:
private function nextView(e:MouseEvent):void {
navigator.pushView(package.component);
}
但是,<s:TabbedViewNavigatorApplication>
不会像其他基类一样自动实例化navigator
。
有人可以提供一个如何从<s:TabbedViewNavigatorApplication>
推送和弹出视图的简单示例吗?
答案 0 :(得分:1)
TabbedViewNavigatorApplication每个标签包含一个ViewNavigator,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<s:TabbedViewNavigatorApplication xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<s:navigators>
<s:ViewNavigator label="News" firstView="views.NewsView"/>
<s:ViewNavigator label="Friends" firstView="views.FriendsView"/>
<s:ViewNavigator label="Events" firstView="views.EventsView"/>
</s:navigators>
每个ViewNavigator都维护自己的导航堆栈。 ViewNavigator方法pushView()和popView()作用于当前选定的ViewNavigator。这些方法在选定的选项卡堆栈中添加/删除,而不是TabbedViewNavigatorApplication。
同样,后退按钮在单个选项卡的堆栈中导航。它没有选择另一个标签。
您可以通过将TabbedViewNavigator.selectedIndex属性设置为所需ViewNavigator的索引来在 ViewNavigators之间(即选项卡之间)导航,其中0是第一个部分(第一个选项卡),1是第二个等等。例如:
TabbedViewNavigator.selectedIndex = 2
选择第三个选项卡(和第三个ViewNavigator堆栈)。
您可以在Adobe Help pages上阅读有关TabbedViewNavigatorApplication的更多信息。