这个速学教程教你该如何在Flex Builder中创建基于约束的布局。
一个基于约束的布局确保当在用户重设置应用程序窗口大小时,应用程序中的组件会聪明地自我调节大小。
開始之前開始這個速学教程之前,確定你完成下面的任務:
■在Flex Builder中
創建QuickStart項目。
■在Flex Builder中打開
Project菜單中確認
Build Automatically選項已選上,如下:
学习在Flex中基于约束的布局当用户重设置Flex应用程序窗口大小时,你想组件在你的布局中是聪明地自我调节大小时,
基于约束的布局就能发挥它的作用。
你将使用
Canvas容器创建
基于约束的布局。
Canvas容器使组件的大小与位置更有弹性。它附属你当
Canvas容器重设置大小时自动伸缩与移动组件的能力。
例如,如果当用户将应用程序窗口拖大,你想
TextInput文件本框的宽度跟着伸长,你能固定文件本框与
Canvas容器左边与右边的位置,那么文件本框的宽度将被窗口的宽度而设定。
注意:在Flex中,所有的约束是相对于Canvas容器边缘设置的。不能相对于其它的控件而设置。。現在你明白基本概念後,你能在FlexBuilder中創建一個简单的应用程序与
定义约束的布局。
插入与放置组件创建
基于约束的布局的第一个步骤是在
Canvas容器中放置组件。在Flex的容器中,只有
Canvas容器是支持绝对坐标。
像
Macromedia Flash的场景一样,你能拖放与放置组件到
Canvas容器的任何位置。对于象素点的准确性来说,你能设置x与y轴。
在这部分里,将插入与放置组件来组成一个简单的反馈表单。
1.打开
QuickStart项目,选择
File > New > MXML Application,在
File Name中输
入Layout.mxml。
2.在
Navigator视图中右击
Layout.mxml文件,选择
Application Management > Set As Default Application,将它指定为
默认被编译的文件。
3.在设计视图中,从
Components面板(Window > Show View > Components)中拖放一个
Label与一个
TextInput控件到
Canvas容器里。
4. 使用鼠标拖动
Label与
TextInputl控件肩并肩在
Canvas容器3 分之1下的位置上(其实只要放到
Canvas容器里就可以,下面会进行具体的调整)。
5.在Flex属性面板中,展开
General与
Layout属性面板。
设置
General与
Layout属性的选项出现。
如果你看到的视图与上面的不一样,那请点击视图工具条上
的View As Form按钮。
6.在
Canvas容器上,选择
Label控件与在Flex属性面板给
Label设置以下属性:
■ text: Email
■ x: 20
■ y: 607. 在
Canvas容器上,选择
TextInput控件与在Flex属性面板给
TextInput设置以下属性:
■ x: 90
■ y: 60
■ width: 3008. 在工具条上点击
Code按钮,将视图转为代码视图。
Layout.mxml文件将包含下面的MXML代码:
程序代码: |
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx=" http://www.macromedia.com/2005/mxml" xmlns="*"> <mx:Canvas width="100%" height="100%"> <mx:Label x="20" y="60" text="Email"/> <mx:TextInput x="90" y="60" width="300"/> </mx:Canvas> </mx:Application>
|
9.在
<mx:TextInput>标签后面输入下面的代码来插入剩下的Flex控件:
程序代码: |
<mx:Label x="20" y="90" text="Comments"/> <mx:TextArea x="90" y="90" width="300" /> <mx:Button x="330" y="150" label="Send"/>
|
你能通过工具条上点击
Design按钮来预览已做好的布局。这个布局将如下图:
10.保存文件。
11.点击工具条上的
Run按钮。
浏览器自动打开并运行你的Flex应用程序。
注意: 浏览器必须了安装Flash Player 8.5,Flex 2应用程序才能在浏览器中运行。12.拖动应用程序的窗口的边缘,使应用程序的窗口变大或变小。
组件仍然保持与窗口的左与上边缘的绝对坐标位置,在重设置应用程序窗口大小时,他们不会伸长与缩小。例如:如果你将窗口缩小,
Button控件将消失,
TextInput与
TextArea控件将被留下一部分。
下一个步骤设置对控件有约束性的布局,当用户在重设置应用程序窗口大小时,他们会自动调整大小。
定义约束的布局给组件在你的布局定位完后, 你将
定义约束的布局,它能使组件跟随应用程序窗口自我调整大小。
1.在设计视图,选择
TextInput组件。
2.在Flex属性面板,确定
Layout类别已被展开。
Layout类别包含设置固定的选项。
3.
定义约束的布局,在
Layout类别中点击左边与右边的
固定选框,并在左边文本框输入
90,右边文文本框输入
60。这是
TextInput控件与
Canvas容器的左边与右边保持的距离,如下:
这两个固定选框, 跟随窗口固定
TextInput控件的左右两边。在文本框中输入的数字是指定
TextInput控件与
Canvas容器保持的距离有多远(
单位:像素(pixels))。
这些约束在MXML代码里被表示如下:
程序代码: |
<mx:TextInput y="60"> <mx:layoutConstraints> <mx:EdgeAnchor left="90" right="60"/> </mx:layoutConstraints> </mx:TextInput>
|
4.在
Canvas容器中选择
TextArea控件,在Flex属性面板中,选择所有的四个
固定选框并输入与边缘保持的距离,如下:
■ left: 90
■ right: 60
■ top: 90
■ bottom: 190TextArea的Flex属性面板如下:
5.在
Canvas容器中选择
TextArea控件,在Flex属性面板中,选上右边与下边的
固定选框,并在右边文本框输入
60,下边文本框输入
150。
6.保存文件,等待Flex Builder直到编译完成应用程序,再点击工具条上的
Run按钮。
浏览器自动打开并运行你的Flex应用程序。
7.拖动应用程序的窗口的边缘,使应用程序的窗口变大或变小。
例如, 如果你将应用程序的窗口缩小,
Button控件会向内移动,
TextInput与
TextArea控件将会跟随缩小。
如果你将应用程序的窗口拖长,
Button控件会向外移动,
TextInput与
TextArea控件将会跟随拖长。
这个速学教程中,已教会你该如何在Flex Builder中创建
基于约束的布局。
posted on 2006-04-29 16:55
blog搬家了--[www.ialway.com/blog] 阅读(537)
评论(0) 编辑 收藏 所属分类:
Flex