下面是显示两个View的ViewStack
使用ButtonBar设置View切换
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:views="views.*" creationComplete="init()"> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.events.IndexChangedEvent; protected function init():void { stack.addEventListener(IndexChangedEvent.CHANGE,Stack_ItemChanged_Call); } protected function Stack_ItemChanged_Call(event:IndexChangedEvent):void { var related:Object = event.relatedObject; Alert.show(" Old Index:"+event.oldIndex.toString()+"\n New Index:"+ event.newIndex.toString()+"\n Label:"+related.label); } ]]> </fx:Script> <fx:Declarations> </fx:Declarations> <s:Panel id="mix" verticalCenter="0" horizontalCenter="0" title="Mix" width="450" height="300"> <!--使用默认设定--> <s:ButtonBar dataProvider="{stack}"/> <mx:ViewStack id="stack" x="20" y="20" width="400" height="200"> <views:TVView label="TV"/> <views:ComputerView label="Computer"/> </mx:ViewStack> </s:Panel> </s:Application>
手动设置实现View切换
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" xmlns:views="views.*" creationComplete="init()"> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.events.IndexChangedEvent; protected function init():void { Cmd_Tv.addEventListener(MouseEvent.CLICK,Cmd_Tv_Clicked_Call); Cmd_Com.addEventListener(MouseEvent.CLICK,Cmd_Com_Clicked_Call); stack.addEventListener(IndexChangedEvent.CHANGE,Stack_ItemChanged_Call); } protected function Stack_ItemChanged_Call(event:IndexChangedEvent):void { var related:Object = event.relatedObject; Alert.show(" Old Index:"+event.oldIndex.toString()+"\n New Index:"+ event.newIndex.toString()+"\n Label:"+related.label); } protected function Cmd_Tv_Clicked_Call(event:Event):void { // 通过结点设定 stack.selectedChild =TVstack ; // 通过索引设定 stack.selectedIndex = 0; } protected function Cmd_Com_Clicked_Call(event:Event):void { stack.selectedChild =Comstack ; stack.selectedIndex = 1; } ]]> </fx:Script> <fx:Declarations> </fx:Declarations> <s:Panel id="mix" verticalCenter="0" horizontalCenter="0" title="Mix" width="450" height="300"> <s:layout> <s:VerticalLayout paddingLeft="20" paddingRight="20" paddingTop="10"/> </s:layout> <s:HGroup> <s:Button label="TV" id="Cmd_Tv"/> <s:Button label="Com" id="Cmd_Com"/> </s:HGroup> <mx:ViewStack id="stack" width="400" height="200"> <views:TVView id="TVstack" label="TV"/> <views:ComputerView id="Comstack" label="Computer"/> </mx:ViewStack> </s:Panel> </s:Application>
使用的两个VIew如下
<?xml version="1.0" encoding="utf-8"?> <s:NavigatorContent xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%"> <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> <s:Panel title="TVs" width="100%" height="100%"> <s:layout> <s:VerticalLayout paddingTop="20" paddingBottom="20" paddingLeft="20" paddingRight="20"/> </s:layout> <s:Group width="100%" enabled="false"> <s:TextInput width="100%"/> <s:Button label="Search for channel"/> </s:Group> <s:Line width="100%"/> <s:Spacer height="10"/> <s:Label text="There are no channels avaiable."/> </s:Panel> </s:NavigatorContent>
<?xml version="1.0" encoding="utf-8"?> <s:NavigatorContent xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" width="100%" height="100%"> <fx:Declarations> <!-- Place non-visual elements (e.g., services, value objects) here --> </fx:Declarations> <s:Panel title="Computer" width="100%" height="100%"> <s:layout> <s:VerticalLayout paddingTop="20" paddingBottom="20" paddingLeft="20" paddingRight="20"/> </s:layout> <s:Group width="100%" enabled="false"> <s:TextInput width="100%"/> <s:Button label="Search for IBM Machine"/> </s:Group> <s:Line width="100%"/> <s:Spacer height="10"/> <s:Label text="You can't afford a IBM..."/> </s:Panel> </s:NavigatorContent>
相关推荐
综上所述,"flex使用viewstack切换页面的例子"展示了如何利用Flex 4的ViewStack组件创建多页面应用,通过编程或用户交互来切换不同视图,提供更好的用户导航体验。在实际开发中,理解并熟练运用这些知识点对于构建...
Flex 实现viewstack简单切换。
Flex是一种基于Adobe Flash Player或Adobe AIR运行时的开源框架,用于构建富互联网应用程序(RIA)。在Flex中,ViewStack是一个非常...深入理解并掌握ViewStack的使用,将有助于提升Flex应用程序的交互性和用户体验。
7. **组件层次结构**:Flex4 改进了组件层次结构,引入了ViewStack和LayoutManager等新概念,帮助开发者更好地管理组件的布局和显示顺序。 8. **模块化开发**:Flex4支持模块化开发,开发者可以将应用拆分为多个...
在Flex4中,我们可以通过ActionScript 3(AS3)来实现对ActionBar的自定义,以满足特定的UI设计需求。本篇将详细介绍如何在Flex4手机应用中定制ActionBar的外观。 首先,我们需要了解Flex4的基本概念。Flex4是Adobe...
随书资源代码包含了书中各个章节的实例代码,读者可以通过这些代码深入了解Flex 4的使用方法,学习如何创建和管理项目,设置组件属性,处理事件,实现数据绑定,以及运用动画效果等。通过实际操作,能加深对Flex 4...
总的来说,"Flex4_导航"这一主题涵盖的是Flex 4框架中关于用户界面导航的设计与实现,包括使用Navigator组件、Skinning和States等技术,以及如何通过源码实践这些概念。通过阅读相关博客和分析提供的项目文件,...
Flex 4,也被称为Flash Builder 4或Spark,是Adobe Flex框架的一个主要版本,它引入了许多新特性,尤其是在3D图形处理方面。Flex 4的3D特效为开发者提供了更强大的工具来创建丰富的、交互式的用户界面,这些界面能够...
Flex4是Adobe公司开发的一种富互联网应用程序(RIA)框架,用于构建交互性强、用户体验丰富的Web应用。本视频教程聚焦于Flex4中的导航器组件,旨在帮助开发者深入理解如何在Flex4环境中实现页面间的导航功能。 在...
ViewStack是Flex的一个容器,它允许你在多个子组件之间进行切换,而ToggleButtonBar则是一种可以切换多个选项的按钮条,通常用于导航。下面我们将详细讨论这两个组件以及它们如何协同工作来创建幕布特效。 **...
为了实现3D页面切换,开发者可能还使用了`ViewStack`或`TabNavigator`组件,它们是Flex 4中用来管理多个视图或页面的容器。通过在用户切换页面时应用3D转换,可以创建出深度感和动态效果。 总的来说,这个项目展示...
Spark组件库是Flex 4.5的一大亮点,它提供了一套全新、轻量级且可自定义的UI组件,如ViewStack、Accordion等。这些组件针对移动设备进行了优化,适应不同屏幕尺寸和触摸交互。 六、访问Android原生API Flex 4.5允许...
MXViewStackEffectExample是基于Adobe Flex的一个示例项目,展示了如何使用MXViewStack组件和效果来实现平滑的视图切换。Flex是一个开源的、基于MXML和ActionScript的框架,用于构建富互联网应用程序(RIA)。这个...
8. **MXML与Flex组件**:Flex4使用MXML作为标记语言,与ActionScript结合,方便地创建用户界面。你将了解到如何在MXML中使用Flex组件库,如Button、Label等,以及如何绑定数据。 9. **Flex框架**:了解Flex框架的...
我跟WonJia打算写一个类似于《Flex编程注意之XX》的系列文章,此系列文章主要就是介绍一些我们在实际的项目中发现的一些Flex的问题,而这些问题可能已经被人发现了,也可能没被人发现,所以在此记录一下。
此样本可能展示了如何使用Flex的ViewStack或NavigatorContent等组件来管理多个视图,以及在不同视图间导航的方法。 通过学习和研究这些示例,开发者可以掌握Flex4.5在BlackBerry平板应用开发中的核心概念和技术,...
在本文中,我们将深入探讨如何使用ActionScript 3(AS3)中的ViewStack组件来实现在Flex应用程序中各个子组件之间的动态切换以及数据传递。ViewStack是Adobe Flex提供的一种容器,它允许用户在多个子组件之间进行...
7. **响应式设计**:考虑到不同设备的屏幕尺寸,Flex项目通常会采用响应式设计,通过`ViewStack`或`states`来适应不同分辨率和方向。 8. **皮肤自定义**:Flex允许开发者自定义组件外观,以创建独特的图片浏览器...