`

第一章 Flex是如何工作的 (4--7小节)

    博客分类:
  • Flex
阅读更多

第四节 Flex 应用程序设计界面布局

让我们来详细分析一下前面那 Say Hello to Flex “的简单例子,你可以通过设置组件的属性值来控 Flex 应用程序的界面布局,就象如下所示

<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Panel layout="absolute" width="80%" height="80%" > <mx:TextArea text="Say hello to Flex!" top="10" bottom="70" left="10" right="30" /> <mx:Button label="Close" right="30" bottom="40" /> </mx:Panel> </mx:Application>

许多容器组件都允许以绝对坐标的方式创建布局,这就意义着你可以使用精确 x y 的坐标来放置组件。你还可以对应其父容器的相对位置来放置组件并约束它们,使它们在应用程序的界面放大或缩小时仍然保持其彼此的位置。

在这个例子中,面 /Panel 组件的布局属性被设置为绝对值方式,同时所有容器的大小都被设置为应用程序的百分之八十。两个组件 TextArea Button )被放置到距离面板容器边界的特定象素位置上。

使用风格和主题增强视觉方面的设计

如果样 /style 的属性值没有被指定,它们将由整个程序中运行的主 /theme 来进行控制。在默认情况下 Flex 应用程序使 Halo 主题(就象上面那个例子那样)。当然,你可以修改默认的主题或者干脆自己创建一个。你还可以简单地指定新的样式定义来改变默认的主题样式,就象这样 <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">

<mx:Style>

TextArea {

font-size: 36px;

font-weight: bold;

}

</mx:Style>

<mx:Panel layout="absolute" width="80%" height="80%" x="122" y="24"> <mx:TextArea text="Say hello to Flex!" top="10" bottom="70" left="10" right="30"/>

<mx:Button label="Close" right="30" bottom="40"/> </mx:Panel> </mx:Application> 通过明确地 TextArea 组件定义一个样式,应用程序现在看起来就会象这样了:

在这个例子中,一种新样式 MXML 文件中 <mx:Style> 标签里进行了定义。如同我们前面所提到过的,你还可以通过修改主题或应用新主题、使用一个外 CSS 文件、或者设置单独的样式属性来达到设置新样式的目的。

将一个样式单导入 MXML 文件中,你需要添加如下的代码 <mx:Style source="styles.css" />

第五节事件和行为的使

HTML 应用程序的原理是由客户端发出请求,并从服务器端得到反应。与之不相同的是, Flex 应用程序是基于事件 /event-based 。举个例子,当用户单击一个按钮时,便会触发一个事件。应用程序本身,不是指服务器,包含了识别事件的逻辑并采取相应的行动。

当事件被触发时修改组件的属性

对某个组件以编程方式进行操作时,为了对某个事件作出反应,必须首先要引用它,这时你就需要赋予它一 ID 值,如下所示

<mx:Panel id="myPanel" layout="absolute" width="80%" height="80%" x="122" y="24">

随后你就可以将行 / behavior 添加到应用程序上,当某个事件被触发时改变组件的属性值,就象这样

<mx:Button label="Close" right="30" bottom="40" click="myPanel.visible=false" />

当按钮被单击时,面板的可见属性值被设置 false

使 ActionScript 功能函数你也可以通过编 ActionScript 功能函数,并在事件中调用它来达到相同的目的,在这 种情况下,按钮组件的单击事件如下所示

<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Style source="styles.css" />

<mx:Script>

<![CDATA [ public function close() : void { myPanel.visible = false ; }

]] > </mx:Script >

<mx:Panel id="myPanel" layout="absolute" width="80%" height="80%" x="122" y="24"> <mx:TextArea text="Say hello to Flex!" top="10" bottom="70" left="10" right="30" /> <mx:Button label="Close" right="30" bottom="40" click="close();" />

</mx:Panel> </mx:Application>

ActionScript 功能函数是 MXML 文件里 <mx:Script> 块中进行定义的,然后引用到按钮的单击事件上。

单独 ActionScript 代码

为了 MXML 文件中更好地分离 ActionScript 代码,你可以将它们放到单独 ActionScript 文件中而不是作为函数,然后再将它们导入 MXML 文件里,如下所示 <mx:Script source="myFunctions.as" />

运用行为和变换增强丰富的视觉互动 Flex 应用程序是事件驱动的,这就意味着你可以在程序运行时使用事件去添加丰富的视觉互动性。为了实现它,你使用了一个事件触发器,用其来描述一个行为。

在前面的例子中,面板组件 visible 属性值被设置 false 因而不可见。你还可以通过使用行为来制造出更强的视觉效果。

下面的例子创建了一个行为,该行为首先创建好一种效果,然后把它绑定到组件 hideEffect 属性上(触发器)

<mx:Fade id="myFade"/>

<mx:Panel id="myPanel" layout="absolute" width="80%" height="80%" hideEffect="{myFade}" >

当关闭按钮被单击时,面板组件淡出而不是消失。

触发器和效果还可以组合到更为复杂的行为中,其被称之为变 /transitions

第六节在应用程序中添加多态页面

有几种方法在一 Flex 应用程序中创建多态页面。你可以使 ViewStack 组件、创建单独 MXML 文件、或者使用视图状态。视图状态可以被看作是一个组件或组件群构成的预定义的用户界面布局。你可以使用视图状态为程序表现出不同的视觉效果。每一种视图状态都是基于一种基础的状态,并进行继承和扩展。

在随后的例子中,当用户在组件上滚动鼠标时,基础状态发生变化。

当一个视图状态被调用时(通过用户的鼠标在组件上滚动时产生的事件),一种效果(或一种变换)改变了用户界面的外观。

使用视图状态方式 ViewStack 方式还 MXML 文件方式,取决于你想从一个页面到另一个页面进行变化的范围、用户界面的复杂性、以及实 Flex 程序的构架。

第七节开始使 Flex

现在,想必你 Flex 的概念有了一个基础的认识,让我们开始创 Flex 应用程序吧。

使 Flex Builder

通过使用新项目向 /New Flex Project Wizard 创建一 Flex 项目 File > New > Flex Project )。设计,编译,以及调 Flex 应用程序所需的所有工具,都被包括 Flex Builder 中了。

使 Flex SDK

创建一个文件名后缀 MXML 的文本文件,在其中添 MXML 文件的基本元素(上述例子中的头两行代码),然后使用文档资料(特别 Adobe Flex2 Language Reference )去研究各种组件的用法。编译和调试工具是以命令行的方法提供的。

1
0
分享到:
评论

相关推荐

    flex-messaging-core-4.7.3.jar

    flex-messaging-core-4.7.3.jar 最新版,下载了好长时间才下载下来,亲测可用!

    Flex Builder 4-7 -04

    FLEX开发工具。Flex Builder 4-7 win64 安装文件,第四卷。

    bison-2.1和flex-2.5.4a-1

    `flex-2.5.4a`是`flex`的一个稳定版本,它能生成高效的C代码来处理词法分析任务。生成的词法分析器通常命名为`lex.yy.c`,同样需要与主程序一起编译。 在编译器构造中,`flex`先运行,它扫描输入源代码,根据预定义...

    Flex第一步--基于ActionScript 3.0的Flex 2应用开发 第2、 6、 13章

    Flex是Adobe公司推出的一种用于构建富互联网应用程序(RIA, Rich Internet Applications)的开源框架,它主要基于Flash Player或Adobe AIR运行环境。本资料主要聚焦在Flex 2的应用开发,特别是结合ActionScript 3.0...

    Flex 工程源码--EmployeeMgmt-Flex.7z

    4. **Flex组件库**:Flex SDK包含了一组丰富的预定义组件,如按钮、文本输入框、数据网格等,开发者可以快速搭建用户界面。"EmployeeMgmt-Flex"项目可能就使用了这些组件来展示和操作员工数据。 5. **Flex构建过程*...

    Flex Builder 4-7 -03

    FLEX开发工具。Flex Builder 4-7 win64 安装文件,第三卷。

    Flex中文帮助1-4章 pdf

    Flex中文帮助1-4章 pdf Flex中文帮助1-4章 pdf

    flex-2.5.4a-29.i386 flex-2.5.4a-29.i386.rpm

    这个特定的文件“flex-2.5.4a-29.i386.rpm”是Flex的一个版本,版本号为2.5.4a,修订版29,针对i386架构。RPM(Red Hat Package Manager)是Linux发行版中常用的软件包管理格式,用于安装、升级和卸载软件。 在深入...

    Flex4-in-a-day

    Flex4是Adobe公司开发的一款功能强大的RIA(富互联网应用)开发框架。它是Flex3的继任者,带来了巨大的改进和全新的特性。本文档《Flex4-in-a-day》专注于向开发者介绍Flex4的主要新特性,以帮助他们快速入门并理解...

    flex-messaging-4.7.3最新版本的jar

    Flex Messaging是Adobe Flex框架的一部分,它提供了一个强大的实时通信平台,允许客户端(通常是Flex应用程序)与服务器进行双向数据交换。4.7.3版本是这个组件的一个更新,它可能包含了性能提升、错误修复以及新的...

    flex-messaging-core.jar

    在flex-messaging-core.jar中,包含了一些关键组件和接口,例如: 1. **MessageBroker**: 这是Flex消息传递系统的中心,它管理消息的路由,调度和处理。MessageBroker实例化并配置了各种服务,如HTTP、HTTPS、RTMP...

    flex------组件-----数据可视化

    在这个“flex------组件-----数据可视化”主题中,我们将探讨Flex如何帮助开发者创建交互式的数据图表和可视化效果。 Flex框架提供了一套强大的组件库,其中包括用于数据可视化的类和库。这些组件使得开发人员能够...

    Flex中文帮助1-4章

    综上所述,“Flex中文帮助1-4章”覆盖了Flex开发的基本要素,从基础概念到实际应用,为初学者搭建了一个良好的学习框架。尽管资料中的例子基于Flex 2,但Flex 3的基本概念和原理变化不大,对于理解Flex 3乃至更现代...

    Forex-Flex-EA-V4.91_flexEA_海龟MT4_ea_mt4_ea源码_

    本文将围绕“Forex-Flex-EA-V4.91”这一特定的EA,以及它如何结合经典“海龟交易策略”在MetaTrader 4(MT4)平台上运行,进行深入探讨。 Forex-Flex-EA-V4.91是一款专为MT4设计的智能交易系统,其核心在于灵活适应...

    跟我StepByStep学FLEX教程------王一松

    - **FLEX介绍**:FLEX是一种用于构建跨平台富互联网应用程序(RIA)的技术。它使用了一种名为MXML的标记语言来创建用户界面,并利用ActionScript进行逻辑处理。FLEX能够与多种后端技术集成,如Java、.NET等,支持...

    跟我StepByStep学FLEX教程------王一松.pdf

    - **FLEX简介**:FLEX是一种用于构建跨平台的富互联网应用程序(RIA)的技术,它结合了Adobe Flash Player和Adobe AIR来实现高性能的用户体验。FLEX提供了一套强大的框架和工具集,使开发者能够快速创建美观且功能丰富...

    flex-2.5.4a-1

    一个很好的编译软件,呵呵

    FLEX资源--------PureMVC开发包下载

    "FLEX资源--------PureMVC开发包下载" 这个标题指出,我们关注的是一个与Adobe Flex相关的资源,具体来说是PureMVC框架的开发包。PureMVC是一个多层应用架构(MVC)框架,适用于Flex开发者,帮助他们更有效地组织和...

    flex布局-flex-layout-master.zip

    - `flex`:是`flex-grow`, `flex-shrink`和`flex-basis`的简写形式。 - `align-self`:允许单个Flex项独立设置其在交叉轴上的对齐方式,覆盖容器的`align-items`属性。 5. **Flex容器属性**:用于控制整个Flex...

    flex-2.6.4.tar.gz

    这个"flex-2.6.4.tar.gz"文件是Flex 2.6.4版本的源代码压缩包,遵循GNU General Public License (GPL)发布。在Linux和类Unix系统中,这种.tar.gz格式常用于存储和分发软件源代码,因为它可以高效地压缩大量文件。 ...

Global site tag (gtag.js) - Google Analytics