Flex布置界面

来源:互联网 发布:听录音打字软件 编辑:程序博客网 时间:2024/06/11 08:09

创建EComm.mxml文件。

用设计模式布置电子商务应用程序

打开EComm.mxml文件,选择设计视图,往视图里面拖入ApplicationControlBar组件

设置该组件在视图里面的属性为Docktrue(自动顶到最上方,宽度变为100% ),height90;如下图

ControlBar里面添加一个Canvas容器,并把Canvas的属性设置为width100%height100%;如下图

下面就可以在Canvas里面添加想要的组件了。

首先拖入一个Lable,属性设置为:TextFlexX0Y0;再拖入一个Lable,属性设置为:TextGrocerX0Y41;再拖入一个Button,属性设置为:IDbtnViewCartLableView Cart;再添加一个button,属性设置为:IDbtnCheckoutLableCheckout;在拖入一个Lable到右下角,属性设置为:Text:(c2010 FlexGrocer

在拖入一个HBox,属性设置为:width100%height100%;往HBox里面添加VBox,属性设置为:width100%height100%IDproducts,确保已经加到HBox里面,可以通过Layout面板查看

VBox里面拖入Lable,属性设置为:IDprodNameTextMilk,在拖入一个Lable,属性设置为:IDpriceText$1.99,在拖入Button,属性设置为:IDaddLableAdd To Cart。如下图

运行程序,如图

从上图看出,生成的页面不好看,右边的两个按钮在中间了,因为我们页面的布局使用了“absolute绝对位置”。

使用基于约束条件的布局

回到页面的设计试图,选择Checkout按钮,在属性里面找到Constraints,并且选中右对齐(相对应父容器Canvas),并且把X的值(偏移量)改为:10

选择View Cart按钮,在属性里面找到Constraints,并且选中右对齐(相对应父容器Canvas),并且把X的值(偏移量)改为:90

打开源码试图,查看两个按钮的源码,都有一个right属性:

 往HBox里面在添加一个VBox,属性设置为:IDcartBoxwidth设置为空。再在该VBox里面添加Lable,属性设置为:YourCart Total$;继续添加LinkButton,属性设置为:LableView Cart。再次运行页面,如下

使用视图状态

当前我们使用的试图状态是基本的试图状态(Base state),如下

新建一个状态,右键点击Base state,选择new state,输入名字cartView

 

选中新建的试图状态cartView(在cartView试图状态下),把products对应的VBox的属性改为如下:width0height0,即隐藏掉,把cartBox对应的VBox宽度设为:100%

源码中多出如下代码

 下面开始控制试图状态

回到base state基础的试图状态(点击Base state试图状态),选中view cart对应的linkbutton,添加onclick事件,为this.currentState=’cartView’,就是当我们单击View Cart这个linkbutton的时候,就把当前的试图状态改为cartView试图状态。

回到cartView试图状态,删除View Cart对应的linkbutton,并添加linkbutton,属性设置为:LableContinue ShoppingOn Clickthis.currentState=’’(表示回到基础试图状态),在Continue Shopping对应的linkbutton上面添加DataGrid,属性设置为:width100%,如下

View Cart试图状态的源码如下

 运行页面,如下

点击“view cart”

 

 

原创粉丝点击