- 浏览: 14210 次
最新评论
as3 内置组件 1
2009年10月14日
1,改变所有按钮的样式:
//加载样式管理器
import fl.managers.StyleManager;
//定义文本格式对象
var tf:TextFormat = new TextFormat();
tf.size = 12; //字号,单位是像素
//改变按钮文本格式
StyleManager.setComponentStyle(Button, "textFormat", tf); //改变所有按钮样式 //改变所有标签样式参考以下语句:
StyleManager.setComponentStyle(Label, "textFormat", tf); 2,改变某一个按钮的样式:
aButton.setStyle("textFormat", tf);
import fl.managers.StyleManager;
var mytime:Number = 500;
var timer:Timer = new Timer(1,mytime);
var tf:TextFormat = new TextFormat();
tf.font ="宋体";
tf.size = 12;
mc.label = "清除";
mc.setStyle("textFormat", tf);
infor.width = 400;
infor.height = 300;
infor.setStyle("textFormat", tf);
var URLString:String = "http://www.17173.com";
var _URLRequest:URLRequest = new URLRequest(URLString);
var _URLloader:URLLoader = new URLLoader();
_URLloader.load(_URLRequest);
_URLloader.addEventListener(Event.COMPLETE,getop);
_URLloader.addEventListener(ProgressEvent.PROGRESS, progressHandler);
mc.addEventListener(MouseEvent.CLICK,clears);
function getop(event:Event){
timer.start();
}
timer.addEventListener(TimerEvent.TIMER_COMPLETE,timerEnd);
timer.addEventListener(TimerEvent.TIMER, timerHandler);
function timerHandler(event:TimerEvent){
var n = event.target.currentCount;
if(mytime - n !=0){
infor.text = String(mytime - n);
}
else{
}
}
function timerEnd(event:TimerEvent){
infor.text = String(_URLloader.data);
}
function clears(event:Event){
infor.text = "";
}
function progressHandler(event:ProgressEvent){
infor.text = String((int(_URLloader.bytesLoaded / _URLloader.bytesTotal) *100)+"%");
}
修改ListSkin,然后设置
StyleManager.setComponentStyle(List,"contentPadding", 1);
就这么简单。。。。我居然网上找了N天死活找不到解决办法,无语了,还是被自己“研究”了出来
Flex实时加载Skin
转载自http://hi.baidu.com/ming871/blog ... 2979d5d439c916.html
Flex实时加载Skin2008-08-13 21:36一篇翻译的文章,来自 The Kiwi Project ,这种方法很有用,但是唯一的问题就是,在加载皮肤的过程中,用户等待的问题。如果皮肤文件比较大,没有加载上来之前,程序可以说是无反应的,这样需要我们以某种方式提醒用户当前程序的工作。
实时加载 Flex 皮肤
目前,有很多关于如何在你的 Flex 程序中绘制皮肤的资源。
概述:Flex 支持两种绘制皮肤的方法:贴图和编程。贴图皮肤是在Flash、Photoshop、Firework等软件中创建皮肤资源图像,然后将他们导入(embed)到 Flex 程序中;编程皮肤是建立一个通过程序定义一个控件皮肤的 ActionScript 类。你可能猜到,贴图皮肤比较简单,编程皮肤可以实现更加丰富的效果。
这两个方法都有一个共同的缺点是,皮肤资源(对于贴图来说是 SWF/PNG/GIF 等文件,对于编程来说是那个 AS 类)必须在程序编译时就被包括。怎么改进呢?在这篇文章中我将演示一个如何实时加载贴图皮肤的巧妙方法。
为了使这个例子尽可能的简单,我仅建立一个只有一个按钮的 Flex 程序,这个按钮的皮肤是动态添加的。本程序将实时取得一个皮肤 SWF 文件,加载皮肤,然后把它们应用到按钮上。
第一步:为皮肤资源建立一个外壳 SWF
目的,有了这个外壳 SWF,我的 Flex 程序就可以实时加载皮肤中适当的资源
package
{
import flash.display.Sprite;
public class Wrapper extends Sprite
{
[Embed(source="flex_skins.swf",symbol="RadioButton_upIcon")]
public var rbUpSkin: Class;
[Embed(source="flex_skins.swf",symbol="RadioButton_downIcon")]
public var rbDownSkin: Class;
[Embed(source="flex_skins.swf",symbol="RadioButton_disabledIcon")]
public var rbDisabledSkin: Class;
[Embed(source="flex_skins.swf",symbol="RadioButton_overIcon")]
public var rbOverSkin: Class;
}
}
译者注:上面代码需要用 mxmlc 编译,不用使用 Flex Builder 去建项目。
第二步:将这个外壳 SWF 放到服务器上
Flex 程序需要从某个地方加载皮肤呀。
第三步:在 Flex 程序中使用 Loader 加载外壳 SWF
我建了一个比较实用的类 ClassLoader 来加载 SWF 文件,并且将其转化为类。以下是一些关键行:
loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
loader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler);
...
request = new URLRequest(swfLib);
var contextLoaderContext = new LoaderContext();
context.applicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
loader.load(request, context);
第四步:从加载的 SWF 中生成类,然后实例化
var wrapperClass:Class = loader.contentLoaderInfo.applicationDomain.getDefinition(className) as Class;
var wrapper:Object = new wrapperClass();
第五步:利用 setStyle 应用皮肤
这个很简单了。
StyleManager.getStyleDeclaration("Button").setStyle("upSkin", wrapper.rbUpSkin);
StyleManager.getStyleDeclaration("Button").setStyle("downSkin", wrapper.rbDownSkin);
StyleManager.getStyleDeclaration("Button").setStyle("disabledSkin", wrapper.rbDisabledSkin);
StyleManager.getStyleDeclaration("Button").setStyle("overSkin", wrapper.rbOverSkin);
第六步:运行程序
那么为什么要这么做呢?动态的皮肤提供给你一个难以置信而格外有力的功能:你可以让你的用户在你的程序上使用他们自己的皮肤。想象一下一个像 Winamp 的 Flex Mp3 播放器。开发人员并不需要为程序建立一个皮肤库,任何人都可以发布一个 UI 通过设置皮肤 SWF (可能在一个配置窗口中)让用户选择任一在社区中提供的皮肤。同样重要的,开发者也有能力来控制哪个皮肤可以被替换,哪个皮肤只能使用原来的皮肤(仅仅对相应的控件调用 setStyle 即可)。最后,将皮肤放到程序的外面,可以有效的保持程序的体积不会太大,肯定要比包含皮肤时要小。
发表评论
-
autoit3简要笔记
2012-01-20 10:07 809autoit3简要笔记 2011年02月11日 ... -
BAT命令大全
2012-01-20 10:07 624BAT命令大全 2010年11月11日 BAT命令大全 ... -
IIS修复工具,怎么完全卸载IIS
2012-01-20 10:07 807IIS修复工具,怎么完全卸 ... -
自动化测试-略懂
2012-01-20 10:07 467自动化测试-略懂 2010年09月14日 其实我目前是处 ... -
还原点
2012-01-20 10:07 424还原点 2010年10月23日 什么是还原点: 表 ... -
各种文件后缀名与打开方式大全a-d
2012-01-19 15:08 726各种文件后缀名与打开方式大全a-d 2012年01月11日 ... -
右键菜单显示隐错文件和扩展名时报错
2012-01-19 15:08 776右键菜单显示隐错文件和扩展名时报错 2012年01月11日 ... -
右键添加显示隐藏文件(转贴)
2012-01-19 15:08 522右键添加显示隐藏文件(转贴) 2012年01月15日 右 ... -
教你用记事本做整人的另类签名
2012-01-19 15:08 621教你用记事本做整人的另类签名 2011年12月24日 今 ... -
S7-300 PLC的串口无线通讯在火电厂污水处理中的应用
2012-01-19 15:08 575S7-300 PLC的串口无线通讯 ... -
C# 外挂入门 配套 实例+视频 教程
2012-01-17 04:55 2998C# 外挂入门 配套 实例+ ... -
关于PHP的缓存
2012-01-17 04:55 614关于PHP的缓存 2011年05 ... -
外挂制作 方法
2012-01-17 04:55 598外挂制作 方法 2011年01 ... -
杨建:网站加速--服务器编写篇(上)
2012-01-17 04:55 494杨建:网站加速--服务器 ... -
AS3 Design Pattern: Simple Factory 模式
2012-01-16 03:46 568AS3 Design Pattern: Simple Fact ... -
flex3控件_ModuleLoader
2012-01-16 03:46 553flex3控件_ModuleLoader 2011年07月0 ... -
天地会flash资源导航
2012-01-16 03:45 946天地会flash资源导航 2011年02月25日 一 f ... -
回顾日志_20110609
2012-01-16 03:45 524回顾日志_20110609 2011年06月09日 先来 ...
相关推荐
AZAS滚动AS3 的滚动内容、数据列表、数据选择组件。特征: iOS UIScrollView/UITableView 之类的 API。 用于任意数据的全功能滚动/列表/选择功能。 纯核心 AS3 库实现,没有 Flex 或其他 3rd 方库。班级滚动视图其他...
1.vuejs组件之间的调用components 注意:报错Do not use built-in or reserved HTML elements as component id: 修改组件的名字,例如不能使用address为组件名字 组件名字不要使用内置的或保留HTML元素为组件id, ...
Graffiti Library绘画类是专门为as3开发者设计的类库,可以轻易地将绘画功能集成到Flash、AIR和Flex项目中。 Graffiti Library的特点(Release3.0): 1、可以选定画布的尺寸 2、内置的缩放功能可以使用鼠标拖动画布...
Foobar2000是一个Windows平台下的高级音频播放器。包含了一些重放增益支持、低内存...- Fb2k “album artist” is written as “albumartist” by default, the writing it as “album artist” as before is opt-in.
Zent(\ ˈzent \),这是用React编写的基本UI组件的集合。 Zent(\ ˈzent \)是在Youzan开发和使用的React组件库。 Zent提供了一些必需的UI组件以及许多有用的特定于域的组件的集合。...es6.object.as
希望内置组件将得到更新,因为我进行了PR。 直到那时, Place minecraft_server folder in your custom components Add a new minecraft integration from Configuration->Integrations Delete and re-add any ...
主显节平台总览主显节的核心是Kubernetes和Docker的完全自动化以及其他内置服务/组件,例如: Kafka或RabbitMQ用于高速消息传递/事件Prometheus和Alertmanager用于使用Graphana进行监视以进行可视化Elasticsearch和...
RustGUI的Rust中基于跨平台本机小部件的组件系统该项目的目标是跨平台GUI应用程序开发,并具有类似功能组件和状态管理的功能。 内置的程序宏可帮助开发人员编写最少的代码。 例子c! ( View [ View [ Button { set_...
SAVEAS_PHYSICAL表明以操作系统的根目录为文件根目录另存文件, SAVEAS_VIRTUAL表明以Web应用程序的根目录为文件根目录另存文件,SAVEAS_AUTO则表示让组件决定,当Web应用程序的根目录存在另存文件的目录时,它会...
网页设计与制作课程第10讲-1。认识ASP ASP的内部对象 ASP的内置组件 ADO基础
@habx/ui-table React Table UI 组件用于基于 ui-core 的 react-table 安装 npm i @habx/ui-table 特性 固定标题 React table 内置插件 无限滚动 导入/导出 在我们的 Storybook Basic 中测试我们的所有组件用法 ...
Seam - 语境相关的组件[满江红20071230]............................................................................................................................ 1 Java EE 框架...........................
超最小 Box组件,内置。 npm i hypobox 例子 import { Box } from 'hypobox' ; < H1 c = '#333'> Hello world! < / H1 > < / Box > < Box as = 'button' c = '#333' xss=removed xss=removed> ( { '...
全新的用作React组件。 当前v1.3.0,有1265个图标! 安装 npm install react-bootstrap-icons --save 要么 yarn add react-bootstrap-icons 用法 import React from ' react ' ; import { ArrowRight } from ' ...
django脆皮形式 拥有 DRY表单的最佳方法。 用组件构建程序可重用的布局,完全... 可以将其视为内置方法: as_table , as_ul和as_p 。 您无法调整输出,但是很容易开始使用它。 名为{% crispy %}标签将根据您的配置
2、网络层:采用JDK内置的TLS实现,支持入网许可验证,在此基础上进行去中心化的gossip组网,网络传播支持P2P和Pub/Sub两种方式 3、共识层:完成区块的输入共识和输出共识。采用兼顾实时性和安全性的CFRD算法,既...
<3>内置丰富底层功能:屏保、外观定制、迷你工具、滑块菜单等 支持应用IOC,开发者定制界面配置的as对象,注入框架即可 搜集整合网上流行的开源组件,为我所用,从而提供了企业级应用所涉及的一系列组件封装和...
欢迎来到 :ant: 福米兹 轻松应对表单! 可组合,无头且内置多个步骤 Built内置多步 开箱即用的多步骤逻辑!... 只需在组件上使用as = {View}属性即可替换div。 寻找文件? 访问以获得和。 寻找例子? 请访
由创建和组件的替代品,具有统一的API和在两种平台上均具有一致的外观。 它是完全可配置的,并包括对文本搜索和字母索引的内置支持。 对于不适合“轮式捡拾器”的较长清单的理想选择。入门$ npm install react-...
ASP的强大不仅仅局限于接受和显示的交互,更多的是运用ActiveX 组件进行更强大的Web应用。那究竟ActiveX组件为何物?...一般由下面三个路径获得:1,安装完IIS服务器以后,自带的一些内置组件,如Database Ac