`

在覆盖updateDisplayList方法中使用 图标的经典写法

阅读更多

 

			
			var popUpIcon:IFlexDisplayObject =
				IFlexDisplayObject(getChildByName("popUpIcon"));
			
			if (!popUpIcon)
			{
				var popUpIconClass:Class = Class(getStyle("popUpIcon"));
				popUpIcon = new popUpIconClass();
				DisplayObject(popUpIcon).name = "popUpIcon";
				addChild(DisplayObject(popUpIcon));
				DisplayObject(popUpIcon).visible = true;			
			}
			
			popUpIcon.move((w - popUpIcon.width) / 2, (h - popUpIcon.height) / 2);
			

 

 

CSS

 

PopUpArrow
{
	cornerRadius: 0;
	upSkin: ClassReference("com.ztesoft.zsmart.corelib.skins.PopUpArrowSkin");
	downSkin: ClassReference("com.ztesoft.zsmart.corelib.skins.PopUpArrowSkin");
	overSkin: ClassReference("com.ztesoft.zsmart.corelib.skins.PopUpArrowSkin");
	disabledSkin: ClassReference("com.ztesoft.zsmart.corelib.skins.PopUpArrowSkin");
	popUpIcon: ClassReference("com.ztesoft.zsmart.corelib.skins.PopUpIconSkin");
}

 

 

PopUpIconSkin

 

package com.ztesoft.zsmart.corelib.skins
{

import flash.display.Graphics;
import mx.core.mx_internal;
import mx.skins.ProgrammaticSkin;

/**
 * The skin for all the states of the icon in a PopUpButton
 * 
 */
public class PopUpIconSkin extends ProgrammaticSkin
{
    //--------------------------------------------------------------------------
    //
    //  Constructor
    //
    //--------------------------------------------------------------------------

    /**
     *  Constructor	 
     */
    public function PopUpIconSkin()
    {
        super();             
    }
    
    //--------------------------------------------------------------------------
    //
    //  Variables
    //
    //--------------------------------------------------------------------------

    /**
     *  @private
     */
    mx_internal var arrowColor:uint = 0x111111;    

    //--------------------------------------------------------------------------
    //
    //  Overridden properties
    //
    //--------------------------------------------------------------------------

    //----------------------------------
	//  measuredWidth
    //----------------------------------
    
    /**
     *  @private
     */    
    override public function get measuredWidth():Number
    {
        return 7;
    }
    
    //----------------------------------
	//  measuredHeight
    //----------------------------------
    
    /**
     *  @private
     */        
    override public function get measuredHeight():Number
    {
        return 5;
    }
    
    //--------------------------------------------------------------------------
    //
    //  Overridden methods
    //
    //--------------------------------------------------------------------------

    /**
     *  @private
     */    
	override protected function updateDisplayList(w:Number, h:Number):void
    {
		super.updateDisplayList(w, h);

        var g:Graphics = graphics;

        g.clear();
        g.beginFill(mx_internal::arrowColor);
        g.moveTo(w / 2, height);
        g.lineTo(0, 0);
        g.lineTo(w, 0);
        g.lineTo(w / 2, h);
        g.endFill();
    }
}

}
 

 

分享到:
评论

相关推荐

    flex自定义组件

    这是一个flex4的项目,可以下载下来单独运行,其中重写了组件createChildren、commitProperties、measure和updateDisplayList方法,基本描述了他们在组件生命周期中所起的作用,并且在项目中实现了属性的事件绑定,...

    flex4自适应高度的TitleWindow

    这是一个flex4的项目,可以下载下来单独运行,项目中是一个自定义的TitleWindow,TitleWindow中存放了一个dataGrid,它可以根据...此组件使用mxml定义,重写了组件updateDisplayList的方法,希望对大家有所帮助。

    ActionScript高级组件

    在用 ActionScript 创建自定义组件时,必须重载 UIComponent 类的一些方法.实现基本的 组件结构,构造器,以及 createChildren(),commitProperties(), measure(), layoutChrome() 和 updateDisplayList()方法.

    天然气汽车供气系统减压装置毕业设计(cad+设计方案).zip

    天然气汽车供气系统减压装置毕业设计(cad+设计方案)

    PHP+SQL考勤系统安全性实现(源代码+论文+答辩PPT+指导书)

    PHP+SQL考勤系统安全性实现(源代码+论文+答辩PPT+指导书)

    NumPy 的用途是什么

    NumPy 的用途是什么

    毕业设计 基于javaweb的在线答题平台

    毕业设计 基于javaweb的在线答题平台

    基于MATLAB的pca人脸识别.zip

    基于MATLAB的pca人脸识别.zip

    课设毕设基于SSM的信息类课程教学知识管理系统LW+源码可运行.zip

    课设毕设基于SSM的系统源码可运行

    JAVAWML信息查询与后端信息发布系统实现-WML信息查询设计(源代码+LW).zip

    JAVAWML信息查询与后端信息发布系统实现——WML信息查询设计(源代码+LW)

    毕业设计[整站程序]情感家园站 v3.0 For 个人版_qgweb30fp.zip

    毕业设计[整站程序]情感家园站 v3.0 For 个人版_qgweb30fp.zip

    熊猫脚本助手V1.8.zip

    可以自动刷课,执行重复的脚本工作,内有详细操作教程。支持WIN7---WIN10系统。

    Java项目之实验室计算机故障报修系统(源码)

    Java项目之实验室计算机故障报修系统(源码) 开发语言:Java 框架:ssm 技术:JSP JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9

    使用hapi框架搭建 基于协同过滤的美食推荐系统——后台.zip

    协同过滤算法(Collaborative Filtering)是一种经典的推荐算法,其基本原理是“协同大家的反馈、评价和意见,一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息”。它主要依赖于用户和物品之间的行为关系进行推荐。 协同过滤算法主要分为两类: 基于物品的协同过滤算法:给用户推荐与他之前喜欢的物品相似的物品。 基于用户的协同过滤算法:给用户推荐与他兴趣相似的用户喜欢的物品。 协同过滤算法的优点包括: 无需事先对商品或用户进行分类或标注,适用于各种类型的数据。 算法简单易懂,容易实现和部署。 推荐结果准确性较高,能够为用户提供个性化的推荐服务。 然而,协同过滤算法也存在一些缺点: 对数据量和数据质量要求较高,需要大量的历史数据和较高的数据质量。 容易受到“冷启动”问题的影响,即对新用户或新商品的推荐效果较差。 存在“同质化”问题,即推荐结果容易出现重复或相似的情况。 协同过滤算法在多个场景中有广泛的应用,如电商推荐系统、社交网络推荐和视频推荐系统等。在这些场景中,协同过滤算法可以根据用户的历史行为数据,推荐与用户兴趣相似的商品、用户或内容,从而提高用户的购买转化率、活跃度和社交体验。 未来,协同过滤算法的发展方向可能是结合其他推荐算法形成混合推荐系统,以充分发挥各算法的优势。

    JAVAWEB校园二手平台项目.zip

    JAVAWEB校园二手平台项目,基本功能包括:个人信息、商品管理;交易商品板块管理等。本系统结构如下: (1)本月推荐交易板块: 电脑及配件:实现对该类商品的查询、用户留言功能 通讯器材:实现对该类商品的查询、用户留言功能 视听设备:实现对该类商品的查询、用户留言功能 书籍报刊:实现对该类商品的查询、用户留言功能 生活服务:实现对该类商品的查询、用户留言功能 房屋信息:实现对该类商品的查询、用户留言功能 交通工具:实现对该类商品的查询、用户留言功能 其他商品:实现对该类商品的查询、用户留言功能 (2)载入个人用户: 用户登陆 用户注册 (3)个人平台: 信息管理:实现对商品的删除、修改、查询功能 添加二手信息:实现对新商品的添加 修改个人资料:实现对用户个人信息的修改 注销

    基于协同过滤和SVD算法的音乐推荐系统.zip

    协同过滤算法(Collaborative Filtering)是一种经典的推荐算法,其基本原理是“协同大家的反馈、评价和意见,一起对海量的信息进行过滤,从中筛选出用户可能感兴趣的信息”。它主要依赖于用户和物品之间的行为关系进行推荐。 协同过滤算法主要分为两类: 基于物品的协同过滤算法:给用户推荐与他之前喜欢的物品相似的物品。 基于用户的协同过滤算法:给用户推荐与他兴趣相似的用户喜欢的物品。 协同过滤算法的优点包括: 无需事先对商品或用户进行分类或标注,适用于各种类型的数据。 算法简单易懂,容易实现和部署。 推荐结果准确性较高,能够为用户提供个性化的推荐服务。 然而,协同过滤算法也存在一些缺点: 对数据量和数据质量要求较高,需要大量的历史数据和较高的数据质量。 容易受到“冷启动”问题的影响,即对新用户或新商品的推荐效果较差。 存在“同质化”问题,即推荐结果容易出现重复或相似的情况。 协同过滤算法在多个场景中有广泛的应用,如电商推荐系统、社交网络推荐和视频推荐系统等。在这些场景中,协同过滤算法可以根据用户的历史行为数据,推荐与用户兴趣相似的商品、用户或内容,从而提高用户的购买转化率、活跃度和社交体验。 未来,协同过滤算法的发展方向可能是结合其他推荐算法形成混合推荐系统,以充分发挥各算法的优势。

    Java游戏设计打飞机程序(源代码+LW).zip

    Java游戏设计打飞机程序(源代码+LW)

    Matlab实现CoMP多用户注水算法在最最基础的注水算法的基础上,

    Matlab实现CoMP多用户注水算法在最最基础的注水算法的基础上,实现了在功率受限速率受限的情况下CoMP多用户的功率分配.zip

    利用PCA算法的 Eigenface 人脸识别的训练与识别

    自己写代码实现 Eigenface 人脸识别的训练与识别过程,纯手工实现 假设每张人脸图像只有一张人脸,且两只眼睛位置已知(即可人工标注给出)。每张图像的眼睛位置存在相应目录下的一个与图像文件名相同但后缀名为 txt 的文本文件里,文本文件中用一行、以空格分隔的 4 个数字表示,分别对应于两只眼睛中心在图像中的位置; 实现两个程序过程(两个执行文件),分别对应训练与识别; 自己构建一个人脸库(至少 40 人,包括自己),课程主页提供一个人脸库可选用; 不能直接调用 OpenCV 里面与 Eigenface 相关的一些函数,特征值与特征向量求解函数可以调用;只能用 C/C++/Python,不能用其他编程语言;GUI 只能用 OpenCV 自带的 HighGUI,不能用 QT 或其他的;平台可以用 Win/Linux/MacOS,建议 Win 优先;

    有源电力滤波器的控制在MATLAB下的发展。三相电源电压是基于hysterezis正弦电流调节器.zip

    有源电力滤波器的控制在MATLAB下的发展。三相电源电压是基于hysterezis正弦电流调节器.zip

Global site tag (gtag.js) - Google Analytics