对于一个组件丰富的GUI设计工具来说,界面布局技术已经成为界面美化的一个重要方面。Flex从控件的功能上大致提供了两种方法:容器(控制布局)和组件(提供GUI实质性功能处理)。使用容器分层管理GUI是当前的趋势,Flex也使用这种方法。主观上,我们认为它通过容器对布局进行分组或分类来管理我们接口上的组件。
接下来,我将通过简单的例子逐一介绍各种界面布局的设计。00-1010画布的界面布局,定义了一个矩形框区域,用来放置用户的容器和控件。与其他组件不同,您不能让Flex控制。必须指定绝对位置或基于约束的位置来指定组件的位置。绝对模式必须指定x,y坐标。基于约束的必须指定侧锚、基线锚或中心锚。接下来详细介绍两种布局模式:绝对模式:可以通过指定x、y坐标来指定容器中各个组件的位置。坐标是相对于画布容器的左上角设计的。也就是说,容器左上角的坐标是(0,0)。X.y可以是正的,也可以是负的,如果是负的,组件将被放置在容器范围之外的位置。当然,动作脚本可以用来完成移动操作,这涉及到事件事件。xml版本='1.0 '编码='utf-8 '?MX : windowed application xmlns : MX=' http://www . adobe.com/2006/mxml ' width=' 219 ' height=' 230 ' MX : canvas id=' my canvas ' height=' 182 ' width=' 200 ' border style=' solid ' background color=' white ' MX : button x=' 10 ' y=' 1 0 ' label=' button 1 '/MX : button
基于约束的模式:这里分别介绍了画布的Vbox和Hbox两种组合。Canvas通常有x,y来指定组件的位置,x,y的默认值应该是0。所以如果不指定x,就把组件放在x=0的位置。这可能会导致重叠。当然也可以指定其他模式的布局,比如Vbox或者Hbox。这样,就不能指定x和y。xml版本='1.0 '编码='utf-8 '?MX : windowedapplication xmlns : MX=' http://www . adobe.com/2006/mxml ' MX : canvaswidth=' 340 ' height=' 247 ' background color=' # FFFFFF ' MX : vbox id=' VB ' left=' 10 ' right=' 248 ' y=' 26 ' height=' 153 ' background color=' # a9 c0e 7 ' MX :0
00-1010,Vbox或Hbox嵌入到画布中。其实都是容器,可以独立使用。效果同上图所示。所以,HBox不会引入VBox。举个例子:xml版本='1.0 '?-容器布局 vbox simple . mxml-MX : application xmlns : MX=' http://www . adobe.com/2006/mxml ' MX : vbox border style=' solid ' padding top=' 10 ' padding bottom=' 10 ' padding right=' 10 ' MX : Button id=' fname ' label=' Button 1 '/MX : Button id='
实现的代码如下:可扩展标记语言版本='1.0 '?-容器布局 hdivbox简单。mxml-MX : APPLication xmlns : MX=' http://www。土坯房。com/2006/mxml '背景色='白色' MX :脚本![CDATA[私有函数myGrid _ initialize(): void { myGrid。数据提供者=[{ artist : '铺面,Album: '倾斜并施了魔法,价格:11.99,评论: '其中一个最好的。"4颗星“},{Artist: '铺面,Album: '提亮角落,价格:11.99,评论: '我的最爱'}];}]/MX :脚本tmx : hdividedbox宽度='100% '高度='100%'mx:Tree id='tree1 '宽度='30% '高度=' 100% '标签字段=' @ label ' show root=' true ' MX 3360 xmllistnumitem标签=' Products ' menuitem标签='海报isBranch=' true '/menuitem标签=' CDs ' menuitem标签='铺面/change='当前消息。text=事件。当前目标。selecteditem。评论;/MX : textarea id='当前消息'宽度=' 100% '高度=' 60 ' text='其中一个最好的。"4颗星”//MX : vdividedbox/MX : hdividedbox/MX :应用程序