第四节
为
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
)去研究各种组件的用法。编译和调试工具是以命令行的方法提供的。
分享到:
相关推荐
FLEX开发工具。Flex Builder 4-7 win64 安装文件,第四卷。
flex-2.5.4a flex-2.5.4a-29.i386 flex-2.5.4a-29.i386.rpm
Flex 工程源码--EmployeeMgmt-Flex.7z
FLEX开发工具。Flex Builder 4-7 win64 安装文件,第三卷。
Flex中文帮助1-4章 pdf Flex中文帮助1-4章 pdf
1 4 跟我StepByStep学FLEX教程------可视化页面组件(原创) 1 5 跟我StepByStep学FLEX教程------ActionScript3(原创) 1 6 跟我StepByStep学FLEX教程------Demo1之开始(原创) 1 7 跟我StepByStep学FLEX教程--...
跟我StepByStep学FLEX教程------王一松
Flex 全景图源码-----街景 Flex 全景图源码-----街景
跟我StepByStep学FLEX教程------王一松.pdf
flex3读书笔记----flex整合hibernate
flex 实例 ----示波器的制作 flex 实例 ----示波器的制作
既然你搜到了, 那就不多数了,只有这三章。
bison 语法分析程序生成器 flex 记法分析程序生成器
spring-flex-1.5.0.M2-dist.zip spring-flex-1.5.0.M2 spring-flex-1.5.0.M2.jar SBI
资源包含flex-2.5.4+bison-2.4.1+mingw,此外包含本人写的测试源码,编译命令及详细过程,另附一些有用的文章pdf,用于编译原理课程学习。详细使用参考文章:...
flex 简单demo ---包含:增,删,改,查的实际应用
flex-messaging-4.7.3最新版本的jar
flex-messaging-core-amf1.7