Flex - 如何制作选项卡式面板

时间:2011-09-29 22:11:11

标签: flex panel navigator

我的应用程序有3类按钮,我希望有一个标签面板,我可以用来在这三个类别之间切换,如example:

我的应用程序是移动应用程序,但我无法使用mx组件。当我尝试搜索移动选项卡式导航等时,我只提出了viewnavigator示例。

1 个答案:

答案 0 :(得分:4)

对于移动标签式应用,您只需使用TabbedViewNavigatorApplication类:

第一种方法                                     

您的观点只是使用<s:View>作为根音的MXML组件。

阅读您的评论,我发现您需要在视图中显示标签栏。在普通的Flex中,您可以使用TabBar并将其附加到ViewStack,但ViewStack在移动设备中不可用...因此您可以即兴使用状态,绑定{{1} }基于状态的状态名称和隐藏/显示面板。这是一个例子:

第二种方法*

TabBar

但是,您可能仍希望保留移动标签导航功能,但仅限于一个特定视图。您可以在视图中加入<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView"> <s:layout> <s:VerticalLayout /> </s:layout> <s:states> <s:State name="One" /> <s:State name="Two" /> <s:State name="Three" /> </s:states> <s:TabBar id="tabBar" width="100%" change="currentState = tabBar.dataProvider[event.newIndex]"> <s:ArrayCollection> {states.map(function(x) { return x.name; }) } </s:ArrayCollection> </s:TabBar> <s:Group includeIn="One" width="100%" height="100%"> <s:Label text="Tab One" /> </s:Group> <s:Group includeIn="Two" width="100%" height="100%"> <s:Label text="Tab Two" /> </s:Group> <s:Group includeIn="Three" width="100%" height="100%"> <s:Label text="Tab Three" /> </s:Group> </s:View> ,而不是使用TabbedViewNavigator

第三种方法

TabbedViewNavigatorApplication

您将获得一个嵌套的“操作栏”,以便您可以通过设置<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" title="HomeView"> <s:TabbedViewNavigator width="100%" height="100%"> <s:ViewNavigator label="1st Tab" width="100%" height="100%" firstView="views.FirstTabView"/> <s:ViewNavigator label="2nd Tab" width="100%" height="100%" firstView="views.SecondTabView"/> <s:ViewNavigator label="3rd Tab" width="100%" height="100%" firstView="views.ThirdTabView"/> </s:TabbedViewNavigator> </s:View>

来禁用每个标签视图中的嵌套视图

希望这有助于!!!!