`

spark组件设计 学习心得

    博客分类:
  • FLEX
 
阅读更多

Spark组的外观和功能是分开的

 

一、功能

   1、功能继承自SkinnableComponent

   2、在SkinnableComponent中,不需要创建任何组件

        只要声明SkinPart元标签即可

[SkinPart(required="true")]

public var dataGroup:DataGroup;        

   3、定义组件有那几种状态

[SkinState("normal")]

[SkinState("disabled")]

 

   4、覆盖partAdded,partRemoved

    /* 皮肤各个组成部分加入时,调用的方法

		*  @param partname The name of the part.
		*
		*  @param instance The instance of the part.
		*/  
		override protected function partAdded(partName:String, instance:Object):void {
			super.partAdded( partName, instance );
			
			if ( partName == "dataGroup" ) {
				dataGroup.addEventListener( DragEvent.DRAG_ENTER, handleDragEnter );
				dataGroup.addEventListener( DragEvent.DRAG_DROP, handleDragDrop );
			} else if ( partName == "viewCartBtn" ) {
				viewCartBtn.addEventListener( MouseEvent.CLICK, handleViewCartClick );
			}			
		}
		
		/* 皮肤各个组成部分移除时,调用的方法
		*  @param partname The name of the part.
		*
		*  @param instance The instance of the part.
		*/ 		
		override protected function partRemoved(partName:String, instance:Object):void {
			super.partRemoved( partName, instance );
			if ( partName == "dataGroup" ) {
				dataGroup.removeEventListener( DragEvent.DRAG_ENTER, handleDragEnter );
				dataGroup.removeEventListener( DragEvent.DRAG_DROP, handleDragDrop );
			} else if ( partName == "viewCartBtn" ) {
				viewCartBtn.removeEventListener( MouseEvent.CLICK, handleViewCartClick );
			}
		}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics