(十八)Flex4_自定义ActionScript组件

本文详细介绍了如何使用ActionScript在Flex框架下创建可自定义皮肤的组件,包括创建自定义组件、实现接口、管理皮肤部件及组件生命周期等关键步骤。通过实例演示了一个能够支持换肤的购物车组件的实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Spark组件是按复合(composition)的思想设计实现的
Spark组件的外观与功能是独立的
外观只负责视觉感受,而功能则是业务逻辑的实现

皮肤必须知道它要装扮的类的名字
以便编译器检查皮肤类是否具备了相关要素(皮肤部件)
如果想知道哪些皮肤部件对某个组件是必须的,
可以参考ActionScript 3.0 Language Reference

[Button没有必须的皮肤部件,因此为按钮做皮肤比较简单]
注意:利用组件中的Script块可以通过编程方式控制皮肤
也可以在样式表中对皮肤进行某些调整

Flex框架包含两套组件:MX组件和Spark组件
组件又分为两种类型:有皮肤的和没有皮肤的
如:Group,DataGroup就是没有皮肤的
---------------------------------------------------------------------------------
任务:
创建自定义的皮肤
创建自定义组件(开发组件,组件重用)
管理皮肤部件和组件生命周期
使用Scroller
目标:
开发一个能够重用并且能够换肤的组件,以ActionScript作为主要手段!
实现:
使用ActionScript创建组件
1.确定新类要扩展哪个超类
2.确定新类中需要定义哪些属性、方法
3.声明新组件将会分派的事件
创建组件,最关键的地方:接口
确定应用程序其它地方如何使用该组件
接口:需要什么数据,返回什么数据
选择基类,确定要扩展哪个类作为组件的起点(考虑有没有现成的类已经具备需要的大部分功能)
---------------------------------------------------------------------------------
自定义组件实现:购物车组件的功能并支持换肤
1.涉及显示购物车中的商品数量,商品金额合计,View Cart按钮
2.需要支持换肤
由于没有适合的基类可供选择,而且需要换肤,所以选择基类为:SkinnableComponent

接口设计:
1.传入购物车
2.只管往里添加商品
3.负责视图切换
内部如何实现对外界而言都被隐藏起来了!

<components:ShoppingList
shoppingCart="{shoppingCart}"
addProduct="addProductHandler(event)"
viewCart="currentState='cartView'"/>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值