CSDN博客

img Remus

MX2004组件(二)Accordion[折叠菜单]

发表于2004/7/8 16:57:00  956人阅读

分类: Flash

MX2004组件(二)Accordion[折叠菜单]

继承:UIObject-->UIComponent-->View-->Accordion
 包: mx.containers.Accordion 

 2k4中新增的组件,可以用来做折叠菜单,也可以用来做成一个用户注册界面,就像MM站上那种,第一步,第二步。。。做成折叠菜单的形式。
 Accordion组件一般有三种工作方式:
 Accordion跟Screen对像的结合
 Accordion跟MovieClip结合
 使用AS2

 Accordion跟Screen对像的结合应用
 打开flash? New and select Flash Form Application.
 双击Form1,并输入addressForm
 这里我们将把addressForm做为Accordion的子菜单内容来用。
 选中addressForm,在属性面板里设置visible=false,作用是让addressForm的内容只在Accordion组件中可见
 拖几个Button或Label组件到addressForm中,随便做个类似用户名,地址表单之类的东东,拿画笔画点什么也行.然后把它们排列好,并把排列好的一堆东东放到addressForm的左上角[addressForm的左上角对应着Accordion组件菜单内容的左上角,如果不放好,在myAccordion中会看不到的] 

 
 重复b—>d步骤,再创建一个checkoutForm
 创建一个新的Form起名为accordionForm,放置Accordion组件.
 拖一个Accordion组件到accordionForm上。起名为myAccordion
 保持myAccordion的选中状态,在属性面板里做如下设置:
 childSymbols属性中填:addressForm,addressForm,checkoutForm[就是我们刚刚创建的Form的名字]
 childSymbols属性指出哪些form将做为myAccordion组件的子菜单内容。第一个和第二个用了同一个addressForm是因为在这个例子中这两个子菜单的内容是一样的。你也可以自定义成别的。
 childNames属性中填:shippingAddress,billingAddress,checkout
 这里填的三个字符串是提供给as脚本用的,当你需要用as来控制myAccordion的子菜单时就能用到这三个字符串
 childLable属性中填:Shipping Address,Billing Address,Checkout
 这三个字符串将作为myAccordion菜单的标题来显示.

 
 i)ctrl+enter测试

 

 2)Accordion跟MovieClip结合
 a)选择 File > New and create a new Flash Document.
 b)ctrl+F8(or insert(New symbol)起名为AddressForm,点击Advance按钮,选中Export for ActionScript.并在AS2.0 class处填:mx.core.View.这样做的目的是让Accordion的子菜单继承View类,因而可以实现tab order,当然,AS2.0处不填Accordion组件也可以正常工作只是不能自定义tab order


  c),拖几个Button,Label组件到addressForm 这个mc中,排列好,并把排列好的所有元素的位置定到(0,0)[addressForm这个mc中的(0,0)坐标对应着Accordion的(0,0)坐标].
 d)回到主场景
 e)重复b,c步骤再创建一个CheckoutForm
 f)拖一个Accordion组件到主场景,起名为myAccordion并编辑如下属性
 childSymbols:[AddressForm,AddressForm,CheckoutForm]
 childName:[shippingAddress,billingAddress,checkout]
 childLable:[Shipping Address,Billing Address,Check Out]

 
 g)测试

 

 使用AS2

 选择 File > New and create a new Flash Document.
 拖一个Accordion组件到主场景,并起名为myAccordion
 拖一个TextInput和一个Label组件到主场景并删除它们,这样做的目的是把它们导入库中以便在as中使用
 在主场景第一帧写:

 // 创建三个Accordion子菜单,分别为shippingAddress,billingAddress,payment,createChild方法的用法简单说一下,下面的语句创建一个View类的实例,叫做shippingAddress,并设定它的label属性(也就是标题文字)为”Shipping Address”,其它类似
 myAccordion.createChild("View", "shippingAddress", {label:"Shipping Address"});
 myAccordion.createChild("View", "billingAddress", {label:"Billing Address"});
 myAccordion.createChild("View", "payment", {label:"Payment"});

 //创建第一个子菜单的内容,把TextInput,Label组件加到子菜单中
 //这里的createChild方法是在shippingAddress子菜单中创建一个库中存在的一个”TextInput”组件的实例,命名为“FirstName”其它类似
 var o=myAccordion.shippingAddress.createChild("TextInput","FirstName"screen.width/2)this.width=screen.width/2" vspace=2 border=0>;
 var l=myAccordion.shippingAddress.createChild("Label","FirstName",{text:"FirstName"});
 l.move(0,10)
 o.move(70,10);
 o.setSize(110,20);

 //创建第二个子菜单的内容
 o=myAccordion.billingAddress.createChild("TextInput","LastName"screen.width/2)this.width=screen.width/2" vspace=2 border=0>;
 l=myAccordion.billingAddress.createChild("Label","LastName",{text:"LastName"});
 l.move(0,50);
 o.move(80,50);
 o.setSize(150,20);
  
  
 

 

 这就是Accordion组件的基本用法,有关一些其它的方法,属性,可以查下帮助,然后逐个试一下,很容易明白的。

0 0

相关博文

我的热门文章

img
取 消
img