第三节创建一个受约束的布局
本节将教你学会如何创建一个布局受约束的应用程序。受约束的布局可以确保用户界面中的组件在程序窗口大小发生变化时,也能自动地作出调节。备注:你可以通过使用嵌套的布局容
器
/nested layout container
来实现相同的目的。
受约束的布局每当用户改变应用程序的窗口大小时,你希望布局的组件能够自动地进行调节,改变它
们的大小和位置。受约束的布局方式能够实现这种效果。创建受约束的布局,你必须将容器的布局属性设置为绝对方式
(
layout="absolute"
)。备注:帆布容
器
/canvas container
并不需要进
行
layout=”absolute”
的属性设置,因为它默
认是绝对布局方式。举个例子,如果你想在用户增宽程序的窗口时拉
长
TextInput
文本框,你可以将控件锚定在容器的左右边缘上,使文本框的宽度由窗体来确定。
在
Flex
中,所有的约束都是被设置为与容器的相对距离,它们不可能被设置为相对于其它控件。
插入并放置组件创建受约束布局的第一步是在容器中放置组件,并将布局属性设置为绝对值方式。为了精确到象素,你可以直接设
置
x
和
y
坐标,而不是在容器中拖拉组件
。
- 1.
在导航视图中选
择
File > New > MXML Application
,创建一个名
叫
Layout.mxml
的应用程序。默认地
,
Flex Builder
将
Application
标签中的布局属性设置为绝对方式
。
- 2.
将
Layout.mxml
文件作为进行编译的默认文件,并在关联菜单中选
择
Set As Default Application
。
- 3.
在
MXML
编辑器的设计模式中,
将
Label
控件
和
TextInput
控件从组件视图中(
Window > Components
)拖拉
到
Layout.mxml
文件里
。
- 4.
使用鼠标指针
将
Label
控件
和
TextInput
控件放置到距离容器顶
端
60
象素的地方
。
- 5.
在
Flex
属性视图中,打
开
Common and the Layout categories of properties
。
- 6
.
在布局中选
择
Label
控件,并在属性项中进行相应的设置
:
Text: Emai
l
- X: 20
- Y: 60
- 7
.
在布局中选
择
TextInput
控件,并设置相应
的
TextInput
属性
:
- X: 90
- Y: 6
0
Width: 30
0
- 8.
切换
到
MXML
编辑器源代码模式,
在
Layout.mxml
文件中输入随后
的
MXML
代码
:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
- <mx:Label x="20" y="60" text="Email"/> <mx:TextInput x="90" y="60" width="300"/> </mx:Application>
- 9.
在
<mx:TextInput>
标签后输入额外的内容,就象这样
:
<mx:Label x="20" y="90" text="Comments"/> <mx:TextArea x="90" y="90" width="300" />
如果你看到的是属性表格而不是预览视图,请点击视图工具条中的标准视图按
钮
/Standard View button
。
<mx:Button x="330" y="150" label="Send"/>
然后,点击工具条上的设计按钮来预览布局效果。它看起来就象这样
:
10.
保存文件并运行
。
11.
拖拉浏览器的边缘使之更大或更小。组件保持它们与窗体
左
/
上边界的相对位置,但是它们并没有进行扩展或压缩。举个例子,如果你的窗体过于狭窄,那么发送按钮就会看不到,
而
TextInput
控件
和
TextArea
控件也会被拦住一部分。
接下来的一步是为控件设置布局约束,以便它们可以在程序窗体大小改变时进行调节。
定义布局约束
在布局中放置好组件后,你就可以进行布局约束的定义了。
在
MXML
编辑器的设计模式中,选
择
TextInput
控件(用来输入电子邮件地址的)。
在
Flex
属性视图中,确
保
Layout category of properties
是展开的
。
Layout category
中包含了设置锚定的选项
。
3.
为
TextInput
控件定义布局约束,在视图中选择
左
/
右锚定框,并指定距离窗体左边
缘
90
,距离窗体右边
缘
60
,就象这样:
这些约束也可以通
过
MXML
代码来实现
:
<mx:TextInput y="60" left="90" right="60"/>
4
.
在编辑器的设计模式下,选
择
TextArea
控件,为它设置四个角与容器的距离
:
Left: 90 Right: 60 Top: 90 Bottom: 190
在
Flex
属性视图中的布局分类里
,
TextArea
控件看起来就象这样
:
- 5
.
在布局中选
择
Button
控件,选择
右
/
底锚定框,分别设置数
值
60
和
150
,就象这样
:
- 6
.
保存文件,编译后运行。
7.
拖拉浏览器窗体的边缘使其更大或更小。举个例子,如果你使窗体更狭窄
,
Send
按钮会向左边移动,同
时
TextInput
和
TextArea
文本框会变得更加狭窄。
如果你使浏览器窗体更加宽大
,
Send
按钮会向右边移动
,
TextInput
和
TextArea
文本框会变得更宽。
在本节中,你学习了如何使
用
Flex Builder
创建受约束的布局。
分享到:
相关推荐
总的来说,Flex编程入门教程将帮助你掌握如何使用Flex Builder 3创建、设计和实现富互联网应用程序。通过学习和实践,你将能够利用Flex的强大功能构建出具有丰富交互性和动态效果的应用,提升用户体验。记得在学习...
这个压缩包“Flex从入门到精通源代码”显然是针对初学者或者想要深入理解Flex技术的开发者设计的,包含书中示例的源代码,帮助读者更好地理解和实践Flex编程。 在《Flex从入门到精通》这本书中,作者可能涵盖了以下...
《Adobe Flex 3 高级编程》一书是学习Flex 3开发的权威指南,提供了深入的理论知识和技术实践。 该书的源码包含在名为"ProFlexCode"的压缩包文件中,意味着读者可以深入研究和学习书中提到的各种示例和项目。源码...
3. **Spark组件模型**:Flex 4引入了全新的Spark组件架构,取代了MX组件。Spark组件更注重设计模式,提供了更好的性能和可定制性。学习如何使用Spark组件创建丰富的用户界面是核心内容之一。 4. **皮肤和样式**:...
ActionScript则是Flex的编程语言,基于ECMAScript,用于实现逻辑控制和交互功能。 在"Flex从入门到精通"这套教程中,你将学习: 1. **基础知识**:了解Flex开发环境的搭建,包括安装Adobe Animate CC或Flex ...
第4章 运用ActionScript3.0 4.1 Flash平台框架 4.2 显示编程 4.3 事件模型 4.3.1 事件类和类型 4.3.2 事件进程 4.3.3 事件流 4.3.4 Event Dispatcher类 4.4 Flash Player API 4.4.1...
第4章 数据基础 第5章 Flex事件驱动 第2篇 视觉设计篇 第6章 Flex皮肤设计 第7章 特效effect和状态state 第8章 Flex与Flash无缝衔接 第9章 综合演练:实现仿Office 2007风格的界面 第3篇 组件高效技法篇 第...
《SuperMap iClient for Flex从入门到精通》第一章节主要介绍了如何使用SuperMap iClient for Flex构建Web GIS应用,这是基于Apache Flex技术的客户端开发包,适用于创建跨浏览器、跨平台的富客户端GIS应用程序。...
FLEX快速入门.zip 用户在界面输入的数据可能不适合应用系统。在Flex应用程序中,可以使用validator来确保表单里的字段值满足某些标准。例如,你可以使用validator来确定用户输入有效的电话号码,确定字符串大于最小...
MXML是一种声明式语言,常用于构建Flex界面,而ActionScript是面向对象的编程语言,用于编写逻辑代码。MXML可以嵌入ActionScript,反之亦然,这使得两种语言可以无缝集成。在Flex项目中,你可能会看到MXML文件定义...
3. **Flex编程指南**: Flex编程指南可能详细阐述了Flex开发过程中的核心概念和技术,如ActionScript 3.0语法、MXML组件模型、数据服务集成、移动应用开发等方面,帮助开发者掌握Flex编程的基础和高级技巧。 4. **...
第4章:数据绑定与事件处理 数据绑定是Flex中连接UI与业务逻辑的重要机制。这一章会讲解如何实现数据的双向绑定,以及事件监听和处理机制,包括Event和ChangeEvent等事件类型。 第5章:状态管理和皮肤设计 Flex允许...
4. **面向对象编程**:Flex支持面向对象编程(OOP)原则,包括封装、继承和多态。类是OOP的核心,它定义了一组数据属性(字段)和行为(方法)。通过创建对象实例,你可以使用类的属性和方法。继承允许一个类(子类...
Flex Blazeds入门教程,由刘铭朝撰写于2008年3月21日,旨在解决开发者在搭建Flex与LCDS(Flex Data Services)工程时遇到的常见问题。这篇教程不仅详细介绍了创建项目的过程,还涵盖了如何整合与部署J2EE项目和LCDS...
4. Flex与Flash的关系 Flex起源于Macromedia公司的Presentation Server,与Flash的关系密切但不相同。Flex是用于后台服务器与客户端交互的中间层,而Flash则是一个图形编辑和动画工具,两者结合,使Flex可以利用...
1. Flex编程:包括MXML和ActionScript的基础,以及如何创建用户界面组件和事件处理。 2. BlazeDS配置:如何在服务器端设置BlazeDS,包括服务定义和服务映射。 3. AMF通信:理解Action Message Format的工作原理以及...