Flex的视图状态。

Flex使用视图状态(View States)笔记 使用视图状态(简称VS)能够让你的程序根据用户的操作显示不同的组件内容和组件外观。在RIA中,界面会根据不同的任务而改变,简单的例子比如:当鼠标滑过一张图片的时候,将会显示关于这个图片对应的内容,比如拍摄时间,地点,日期等内容,鼠标离开的时候,只显示一张图片。这就是VS的一个简单的应用。 立即下载

      在建立了Flex应用后,在MYECLIPSE中可以看到一个名叫states的视图,这个视图可以实现页面间的切换(个人感觉是通过控制层的可见性以及添加新层来完成某状态的重绘),states配置如下:

      <mx:states>
  <mx:State name="cartView">
   <mx:SetProperty target="{products}" name="width" value="0"/>
   <mx:SetProperty target="{products}" name="height" value="0"/>
   <mx:SetProperty target="{cartBox}" name="width" value="100%"/>
   <mx:AddChild relativeTo="{cartBox}" position="lastChild">
    <mx:DataGrid id="dgCart" width="100%">
     <mx:columns>
      <mx:DataGridColumn headerText="Column 1" dataField="col1"/>
      <mx:DataGridColumn headerText="Column 2" dataField="col2"/>
      <mx:DataGridColumn headerText="Column 3" dataField="col3"/>
     </mx:columns>
    </mx:DataGrid>
   </mx:AddChild>
   <mx:RemoveChild target="{linkbutton1}"/>
   <mx:AddChild relativeTo="{cartBox}" position="lastChild">
    <mx:LinkButton label="Continue Shopping" click="this.currentState=''"/>
   </mx:AddChild>  
  </mx:State>
 </mx:states>

 

简要分析下这段代码: <mx:State name="cartView">表示创建一个新的名为cartView的视图,

 <mx:SetProperty target="{products}" name="width" value="0"/>
   <mx:SetProperty target="{products}" name="height" value="0"/>
这2行把products容器的宽和高设为0,这样products容器被隐藏了起来不可见。

 <mx:SetProperty target="{cartBox}" name="width" value="100%"/>
这行让cartBox的横向填充满整个容器(高度不变),其实就是填充满刚才被隐藏了的products区域。

<mx:AddChild relativeTo="{cartBox}" position="lastChild">
    <mx:DataGrid id="dgCart" width="100%">
     <mx:columns>
      <mx:DataGridColumn headerText="Column 1" dataField="col1"/>
      <mx:DataGridColumn headerText="Column 2" dataField="col2"/>
      <mx:DataGridColumn headerText="Column 3" dataField="col3"/>
     </mx:columns>
    </mx:DataGrid>
   </mx:AddChild>
这段代码是在cartBox中添加一个DataGrid 控件。

 

 <mx:RemoveChild target="{linkbutton1}"/>
这行代码移除名为linkbutton1的控件

 

 <mx:AddChild relativeTo="{cartBox}" position="lastChild">
    <mx:LinkButton label="Continue Shopping" click="this.currentState=''"/>
   </mx:AddChild>  
这段代码增加了一个返回base状态的链接。

 

看完了这个例子,我思考了如下几个问题,我们可以把某些页面存为一种状态,当我们需要的时候只要调用这个状态就可以重绘整个页面,举个简单的例子,当我们查询服务器后生成了一个页面显示学生列表,然后我们又点了很多别的页面,然后想重新看看学生列表,按以往JSP的方法,我们需要重新访问服务器请求学生列表页面,而在FLEX中可以用状态解决这个问题,我们可以把学生列表通过以上的编码方式存为一种状态,当我们需要重新查看学生列表的时候,只需要调用对应的状态就可以了,无须再请求服务器。

 

 

 

Flex Builder 中视图状态 师徒状态,其实像是窗体的继承, 阅读详情

相关推荐

Flex视图状态

每个页面可以通过s:states灵活的定义很多状态,各个状态之间的切换效果,可以通过s:Transition实现。 Transition 类定义了一组在响应视图状态更改时播放的效果。视图状态定义了如何更改状态,而过渡则定义了在状态更改过程中可视更改发生的顺序。可使用 Transition 类的 toState 和 fromState 属性来指定触发过渡的状态更改。 默认情况下,fro...

anyan0651的博客 152

flex_监听状态事件(视图状态);

xmlns:s="library://ns.adobe.com/flex/spark"                xmlns:mx="library://ns.adobe.com/flex/mx"                minWidth="1024" minHeight="768" pageTitle="TheStudioOfCenyebao"

cenyebao的专栏 922

Flex3学习轨迹:创建视图状态

Flex视图状态(View State)是一种能够改变组件或者应用程序内容和外观的技术特性。每个应用程序都包括一个基本的视图状态(Base State),也就是初始构建的组件、页面内容、Logo和边栏等。当用户单击页面中的按钮控件时,应用程序将进入一个新的视图状态,即通过一个动画改变自身外观,例如改变某些文字的内容、新增或者移除部分组件等。

PrinceTerence的专栏 782

flex_(视图状态)使用创建和销毁策略;

xmlns:s="library://ns.adobe.com/flex/spark"                xmlns:mx="library://ns.adobe.com/flex/mx"                minWidth="1024" minHeight="768" pageTitle="TheStudioOfCenyebao"

cenyebao的专栏 1046

Flex 4 SDK 新特性教程系列 – 改进的视图状态 (2)

本章是Flex 4 SDK 新特性教程系列的第6章。在上一章中,我们介绍了Flex 4全新的视图状态(View State)语法,本章我们将介绍Flex 4中其他与视图状态相关的新特性和变化,包括:控制组件的创建和销毁状态组Base State标签 控制组件的创建和销毁在上一章登录/注册对话框的例子中,当我们将视图状态切换到register时,会需要创建一个额外

1433

flex_(视图状态)更改元素的父组件;

效果图:                xmlns:s="library://ns.adobe.com/flex/spark"                xmlns:mx="library://ns.adobe.com/flex/mx"                minWidth="1024" minHeight="768" pageTitle="TheStu

cenyebao的专栏 684

Flex 4 SDK 新特性教程系列 – 改进的视图状态 (1)

本章是Flex 4 SDK 新特性教程系列的第5章。本章将介绍Flex 4全新的视图状态语法。 Flex 3的视图状态(View States)在此之前有多少人使用过视图状态?至少我没用过。:P下面是一个典型的例子:> name="State1"> target="{btn}" name="color" value="0xAAAAAA"/

869

Flex4 视图状态

一旦声明了states数组,那么第一个元素将作为currentState的值。 组件的 button将在状态up和over中出现 button除了down状态之外的其他中状态中出现 状态

lijiecong的专栏 1867

Flex States 视图状态

Flex States可以为组件定义多个视图状态,每一个视图状态为一个State,可以在 Flex 组件的 states 属性中使用 State 类。只能在应用程序或自定义控件的根中指定states 属性,而不能在子控件中指定。可通过设置组件的 currentState 属性来启用视图状态Flex States功能使用的类在mx.states.*包中:如下 接口 IOverr...

FLEX+JAVA+ORACLE(专注RIA&WEBGIS开发) 221

[Flex4] SDK 新特性教程系列 改进的视图状态 (2)

[Flex4] SDK 新特性教程系列 改进的视图状态 (2) 2010年07月18日   [b]Flex 4 SDK 新特性教程系列 [/b]

xpwps21p 135

[Flex4] SDK 新特性教程系列 改进的视图状态 (1)

[Flex4] SDK 新特性教程系列 改进的视图状态 (1) 2010年07月18日   [b]Flex 4 SDK 新特性教程系列 [/b]

xpwps21p 130

flex day 8 视图状态

首先是一个运算符。?:conditional 用法:expression1?expression2:expression3 计算expression1,如果值为true,则结果为expression2,如果值为false,则结果为expression3 (currentState == newState) ? ' ':newState 这里是一个状态转换的判断条件。   stateG...

marcoojoey的专栏 188

使用视图状态和变换

 states:应用程序或组件的布局transitions:变换效果设计步骤:1、设计基础状态2、添加并设置视图状态3、定义状态间的转换方法4、创建并绑定变换Demo:xml version="1.0" encoding="utf-8"?>mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layou

0.5 Degree 907

Flex 快速入门:构建简单的用户界面 创建状态

本文来自:http://www.airia.cn/FLEX_Directory/creating_states/创建状态在许多 Rich Internet Application 中, 界面会根据用户正在执行的任务而变化。 当用户在图像上滚动鼠标时图像会发生变化, 这样的图像就是一个简单的示例。 许多复杂的示例包括其内容会根据用户在某个任务中的进度而变化的用户界面, 如从浏览视图更改到详细

lihe111的专栏 1257

flex_视图状态的认识、理解示例;

=》状态(A): Orange状态(默认) Black状态                xmlns:s="library://ns.adobe.com/flex/spark"                xmlns:mx="library://ns.adobe.com/flex/mx"                minWidth="1024" minH

cenyebao的专栏 541

Flex实践——States Practice

   上一次用组合效果完成了一些变化,这一次,来学习一下如何实现当单击一个按钮时改变页面状态(包括布局,内容,颜色等)引:你可以在Adobe Flex 中使用视图状态和变换来创建更为丰富、更为互动性的用户经历。举个例子,你可以使用视图状态去创建用户界面,它可以根据用户所执行的任务来改变它的外观。视图状态/view states 是你为一个MXML 程序或组件定义的布局命名。你可以为一个程序或组

meteorWJ's Home—Floating clound 1322
上一篇: Flex学习笔记1------页面布局
下一篇: FLEX3类不能嵌套的问题解决方法
FlexAndSpring
博客等级 码龄16年 16粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值