随笔 - 8  文章 - 55  trackbacks - 0
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(6)

随笔分类

随笔档案

文章分类

文章档案

朋友的Blog

最新评论

阅读排行榜

评论排行榜

这个速学教程教你该如何在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. 使用鼠标拖动LabelTextInputl控件肩并肩在Canvas容器3 分之1下的位置上(其实只要放到Canvas容器里就可以,下面会进行具体的调整)。

5.在Flex属性面板中,展开GeneralLayout属性面板。

设置GeneralLayout属性的选项出现。



如果你看到的视图与上面的不一样,那请点击视图工具条上的View As Form按钮

按此在新窗口打开图片

6.在Canvas容器上,选择Label控件与在Flex属性面板给Label设置以下属性:
■ text: Email
■ x: 20
■ y: 60


7. 在Canvas容器上,选择TextInput控件与在Flex属性面板给TextInput设置以下属性:
■ x: 90
■ y: 60
■ width: 300


8. 在工具条上点击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控件将消失, TextInputTextArea控件将被留下一部分。

下一个步骤设置对控件有约束性的布局,当用户在重设置应用程序窗口大小时,他们会自动调整大小。

定义约束的布局

给组件在你的布局定位完后, 你将定义约束的布局,它能使组件跟随应用程序窗口自我调整大小。

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: 190


TextArea的Flex属性面板如下:

按此在新窗口打开图片

5.在Canvas容器中选择TextArea控件,在Flex属性面板中,选上右边与下边的固定选框,并在右边文本框输入60,下边文本框输入150

按此在新窗口打开图片

6.保存文件,等待Flex Builder直到编译完成应用程序,再点击工具条上的Run按钮

浏览器自动打开并运行你的Flex应用程序。



7.拖动应用程序的窗口的边缘,使应用程序的窗口变大或变小。
例如, 如果你将应用程序的窗口缩小, Button控件会向内移动, TextInputTextArea控件将会跟随缩小。



如果你将应用程序的窗口拖长, Button控件会向外移动, TextInputTextArea控件将会跟随拖长。



这个速学教程中,已教会你该如何在Flex Builder中创建基于约束的布局
posted on 2006-04-29 16:55 blog搬家了--[www.ialway.com/blog] 阅读(538) 评论(0)  编辑  收藏 所属分类: Flex

只有注册用户登录后才能发表评论。


网站导航: