- 浏览: 718980 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (389)
- flex (150)
- java (55)
- flex_sharedObject (4)
- iphone/android (7)
- red5 (4)
- blazeds (19)
- ajax (3)
- flex&java (9)
- 聊天室 (2)
- flex的问题 (1)
- game (8)
- flex_xml (1)
- flex组件学习 (2)
- JGroups (1)
- 中转站 (2)
- ruby (7)
- flex_js (5)
- C/C++ (14)
- perl (2)
- db (13)
- air (10)
- hibernate (8)
- flash_flex_as_3d (2)
- struts (4)
- dwr (8)
- freemarker (2)
- AS (22)
- 工具 (6)
- js_jquery_ext_yui (4)
- .net (1)
- C# (1)
- 前端 (1)
最新评论
-
136900923:
您好,您的代码我不是很懂,我想跟您交流一下,我的qq邮箱:13 ...
hibernate做无限极菜单树如此简单 -
fykyx521:
两个同一个功能
flex_flush_Socket 安全沙箱解决 -
ustb:
你上下两个代码类之间没关系
flex_flush_Socket 安全沙箱解决 -
u010656335:
...
flex发送QQ表情 -
u010656335:
flex发送QQ表情
http://blog.minidx.com/2008/06/26/1000.html
本教程所需工具:FlexBuilder 3, Flash CS3;OS:Windows XP
先来看一下整套KingnareStyle的整体效果:
Demo | Download Full Project | Download project from here.
FLEX3.0组件可以通过CSS来控制样式,这里的CSS和平时编写网页时所谈及的CSS是有区别的,可以说是为FLEX量身定制的样式表,借助ActionScript可以实现强大的显示效果,下面的示例中会有相关介绍。
Adobe公司发布的Express Photoshop,黑色风格很令人着迷,KingnareStyle就是以它为原型制作的一款FLEX皮肤。皮肤包含的组件很多,限于篇幅,只能选取有代表性的组件做演示。下面以Button组件为例,开始FLEX皮肤制作的入门。
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"> </script><script src="http://pagead2.googlesyndication.com/pagead/expansion_embed.js"></script><script src="http://googleads.g.doubleclick.net/pagead/test_domain.js"></script><script>google_protectAndRun("ads_core.google_render_ad", google_handleError, google_render_ad);</script>
我们先在Flex Builder 3中新建一个项目FlexSkinTest
新建文件夹style,并在style文件夹下新建style.css文件:
双击打开style.css,切换到Design面板并新建一个样式:
选择Button组件:
按下OK后可以看到按钮的8种状态。便于测试,我们把背景色调整为0×333333:
切换到Source面板调整字体样式:
- Button
- {
- color: #AAAAAA ;/ *Color* /
- textRollOverColor: #FFFFFF ; / *text rolling over color* /
- textSelectedColor: #FFFFFF ; / *SelectedColor* /
- disabledColor: #5A5A5A ; / * disabledColor * /
- fontWeight: normal ; / *fontweight* /
- }
结果如下图:
接下来的工作就是把按钮的8种状态用自定义的皮肤替换掉。
常用的实现方法有4种,我们将逐步介绍。
我们先学习KingnareStyle中Button组件皮肤的实现方法:将外部swf文件里的皮肤元件嵌入到组件样式文件中。
嵌入 swf 文件中的元件
首先在style文件夹下新建文件skin.fla,背景色同样设置为#333333。
CTRL+F8新建影片剪辑Button_upSkin,属性设置如下:
这里最好启用9切片,以后嵌入FLEX样式时就不用进行9切片设置了。
关于9切片,可以参考下面图示(引自Flex Developer Center):
将舞台放大至400%,使用矩形工具画一个空心矩形,坐标为(0,0),厚度为1像素,高宽均为23像素,填充色为#FFFFFF,透明度10%
再新建一个层,用同样的方法在内部画一个空心矩形,坐标为(1,1),厚度1像素,高宽均为21像素,填充色为#000000,透明度60%
下面填充空白区。
新建一个层,画实心矩形,坐标为(2,2),高宽均为19像素,填充线性渐变色白色,透明度由10%至0%:
最后再加高亮框。新建一个层,画空心矩形,坐标为(2,2),厚度为1,高宽均为19像素,填充线性渐变色白色,透明度由8%至3%
至此,图形部分完成,再把9切片的线重新定位:
CTRL+ENTER发布程序。
Flash部分告一段落,回到FLEX的style.css中。切换到Source面板,在Button样式中加入下面语句:
- upSkin :Embed ( source =” skin.swf ”, symbol =” Button _ upSkin ”);
解释一下,upSkin,Button弹起状态皮肤。Embed语句,用于将外部资源嵌入程序中使用,本例中将skin.swf中的Button_upSkin元件嵌入到样式中。
保存后切换到Design面板,会发现up状态已经更新为我们刚才制作的元件了:
使用同样的方法来制作其他状态皮肤,要注意给元件赋合适的名字。最后CCS如下:
- Application
- {
- backgroundGradientAlphas: 1.0 , 1.0 ;
- backgroundGradientColors: #333333 , #333333 ;
- }
- Button
- {
- color: #AAAAAA ;
- textRollOverColor: #FFFFFF ;
- textSelectedColor: #FFFFFF ;
- disabledColor: #5A5A5A ;
- fontWeight: normal ;
- upSkin: Embed (source=”skin.swf”, symbol=”Button_upSkin”) ;
- overSkin: Embed (source=”skin.swf”, symbol=”Button_overSkin”) ;
- downSkin: Embed (source=”skin.swf”, symbol=”Button_downSkin”) ;
- disabledSkin: Embed (source=”skin.swf”, symbol=”Button_disabledSkin”) ;
- selectedUpSkin: Embed (source=’skin.swf’, symbol=’Button_selectedUpSkin’) ;
- selectedOverSkin: Embed (source=’skin.swf’, symbol=’Button_selectedOverSkin’) ;
- selectedDownSkin: Embed (source=’skin.swf’, symbol=’Button_selectedDownSkin’) ;
- selectedDisabledSkin: Embed (source=’skin.swf’, symbol=’Button_selectedDisabledSkin’) ;
- }
效果图:
接下来我们打开FlexSkinTest.mxml文件,切换到Source面板,
添加 <mx:Style source="style/style.css"/>
<mx:Button x="10" y="10" label="Button"/>
换到Design面板,可以看到新加的Button组件已经应用我们的样式了,也可以多拖几个Button到程序中并设置不同的大小,可以发现边缘并未因形变发生模糊,这是我们使用了9切片的结果。
可以说,我们的Button组件皮肤已经完工了。
使用 Flex Skin Design Extensions for Flash CS3
我们再开始第二种皮肤制作方法。
先做准备活动:
从http://www.adobe.com/go/flex3_cs3_swfkit 下载Flex Component Kit for Flash CS3。
从http://www.adobe.com/go/flex3_skinning 下载Flex Skin Design Extensions for Flash CS3.安装后重启Flash CS3.
到http://livedocs.adobe.com/flex/3/skinning_extensions_flex3.pdf 下载操作手册。
从上面地址中还可以看到有For Fireworks,For Photoshop等FLEX皮肤制作插件,我们可能在后续文章中介绍实现方法。
首先打开Flash CS3,CTRL+N新建文件,切换“新建文档”到“模板”面板,选择Flex Skins->Button,如下图:
将文件命名为skintemplate.fla,背景色调整#333333。
新建成功后,可以看到舞台上的按钮元件。双击按钮元件进入编辑状态,或者在库中双击Button_skin元件。可看到如下图所示的时间轴:
简略的介绍一下这些层的用途。
States :定义对应组件的每种状态时间线上的关键帧,如上图所示中的关键帧帧名
Transitions :定义组件状态切换时的过渡动画,默认为每种状态的最后两个关键帧为起始帧和终止帧,以up状态切换到over状态举例,Transitions层的up-over:start帧为起始帧,up-over:end帧为终止帧,可在art层中制作相应的过渡动画
Art :组件的图形部分
你会发现程序只生成了4种状态,通过前面的学习知道Button组件可以有8种状态,没关系,我们在disabled后面再加入4个状态(注意区分大小写):
以selectedUp状态为例:
States层关键帧名为selectedUp.
Transitions层,在最后两帧增加down-selectedOver:start, down-selectedOver:start两个关键帧作为过渡动画的起始与终止帧.
将前面制作的skin.fla中的Button组件皮肤移植过来。
例如up状态的:
所有状态完成后,CTRL+ENTER发布程序,这时会生成skintemplate.swf和skintemplate.swc两个文件。
然后我们切换到FLEX Builder 3,打开style.css,为了测试新的皮肤,我们要将之前的8种皮肤嵌入语句全部注释掉。切换到Design面板,注意右边属性面板中的Skin属性:
选择”Flash symbols…”
加入刚才生成的 skintemplate.swc的路径,选择Button_skin元件,点击OK
左侧预览区已经自动刷新成最新制作的皮肤了:
其实前两种方法原理类似,只是实现过程有些区别。
嵌入 Image 文件
除了选取SWF文件的元件嵌入皮肤资源外,还可以选择Image作为嵌入资源。
首先制作所需Image,以Button组件的Up状态为例,这里使用Fireworks CS3制作了buttonUp.png,制作过程与方法1相似,这里不再复述,得到图片如下图所示:
接下来进入Flex Builder 3,打开style.css,删除前两例中的皮肤嵌入代码。
然后在右侧面板中选择”Image files…”
在弹出的对话框中将Up状态的Image地址填入我们刚才制作的buttonUp.png。
OK之后左侧preview区可以看到Up状态已经更新了,但是还有重要的一步未做。
我们再点击右上角的“Edit Scale Grid”,编辑9切片数值。
调整四条虚线到合适位置:
完成后再次点击“Edit Scale Grid”
切换到Source面板,可以看到自动生成的代码:
- upSkin: Embed ( source =” buttonUp.png ”, scaleGridLeft =”3″, scaleGridTop =”3″, scaleGridRight =”61″, scaleGridBottom =”20″);
熟练后,可以直接写代码而不用手动设置了。
由于时间和篇幅限制,这里只完成Up状态皮肤了,其他状态的皮肤可由您来完成。
ActionScript 皮肤编程
通过前面三种方法,估计你已经对整个皮肤制作过程有了大概的了解,如果要制作较高级皮肤就得借助ActionScript来实现了。
先来看看CSS中的例句:
- upSkin :ClassReference (“ UpSkinClass ”);
其中UpSkinClass就是我们要实现的皮肤类。
打开Flex Builder 3,在src文件夹下新建skins文件夹,并在skins文件夹下新建类文件:ButtonSkin.as,如下图所示:
我们选择mx.skins.Border作为superclass。
为什么要选择Border类呢?我们先来了解一下几个可以用于皮肤编程的superclass。
ProgrammaticSkin :实现了IFlexDisplayObject,ILayoutManagerClient,IInvalidating,ISimpleStyleClient接口,是最为容易和通用的superclass。
Border : ProgrammaticSkin的子类,并且加入了borderMetrics属性,如果皮肤有border属性可以使用这个类。
RectangularBorder :Border的子类,支持backgroundImage样式。
UIComponent :实现了IStateCleint接口,易于制作多状态的组件皮肤,也是实现MXML皮肤时所需的组件。
以上四个类的详细介绍可参考官方文档。
好了,我们再回到程序中,通过重写Border类的updateDisplayList方法来实现皮肤的重绘:
- override protected function updateDisplayList ( w : Number , h : Number ) : void
- {
- //Draw your Graphics.
- }
填充以下代码:
- override protected function updateDisplayList ( w : Number , h : Number ) : void
- {
- var g : Graphics = graphics ;
- g . clear () ;
- //draw outside border
- g . lineStyle ( 1 , 0 xFFFFFF , 0.1 ) ;
- g . drawRect ( 0 , 0 , w , h ) ;
- //draw
- g . lineStyle ( 1 , 0 × 000000 , 0.6 ) ;
- var gradientBoxMatrix : Matrix = new Matrix () ;
- gradientBoxMatrix . createGradientBox ( w , h , Math . PI / 2, 0, 0);
- g.beginGradientFill(GradientType.LINEAR,[0xFFFFFF, 0xFFFFFF],[0.1,0.0],null,gradientBoxMatrix);
- g.drawRect(1, 1, w-2, h-2);
- g.endFill();
- g.lineGradientStyle(GradientType.LINEAR,[0xFFFFFF, 0xFFFFFF],[0.08,0.03],null,gradientBoxMatrix);
- g.drawRect(2, 2, w-4, h-4);
- }
保存后打开style.css文件,切换到Source面板,在Button组件样式下加入代码:
upSkin: ClassReference("skins.ButtonSkin");
注意类包名要写全。
再切换到Design面板,单击刷新按钮
我们的程序已经起作用了:
那么其他状态呢,每个状态都要写一个类吗?No!
还有一个重要的属性没有使用:name
这个name就是状态实例名称,例如”upSkin”,”overSkin”等。
用switch语句来判断不同的实例名称并进行不同的绘制:
- override protected function updateDisplayList ( w : Number , h : Number ) : void
- {
- var g : Graphics = graphics ;
- g . clear () ;
- var gradientBoxMatrix : Matrix = new Matrix () ;
- switch ( name )
- {
- case “ upSkin ”:
- {
- //draw external border
- g . lineStyle ( 1 , 0 xFFFFFF , 0.1 ) ;
- g . drawRect ( 0 , 0 , w , h ) ;
- //draw inner border and fill in gradual color
- g . lineStyle ( 1 , 0 × 000000 , 0.6 ) ;
- gradientBoxMatrix . createGradientBox ( w , h , Math . PI / 2, 0, 0);
- g.beginGradientFill(GradientType.LINEAR,[0xFFFFFF, 0xFFFFFF],[0.1,0.0],null,gradientBoxMatrix);
- g.drawRect(1, 1, w-2, h-2);
- g.endFill();
- // draw inner high-light border
- g.lineGradientStyle(GradientType.LINEAR,[0xFFFFFF, 0xFFFFFF],[0.08,0.03],null,gradientBoxMatrix);
- g.drawRect(2, 2, w-4, h-4);
- break;
- }
- case “overSkin”:
- {
- g.lineStyle(1, 0xFFFFFF, 0.1);
- g.drawRect(0, 0, w, h);
- g.lineStyle(1, 0×000000, 0.6);
- gradientBoxMatrix.createGradientBox(w, h, Math.PI / 2 , 0 , 0 ) ;
- g . beginGradientFill ( GradientType . LINEAR , [ 0 xFFFFFF , 0 xFFFFFF ] , [ 0.15 , 0.05 ] , null , gradientBoxMatrix ) ;
- g . drawRect ( 1 , 1 , w - 2 , h - 2 ) ;
- g . endFill () ;
- g . lineGradientStyle ( GradientType . LINEAR , [ 0 xFFFFFF , 0 xFFFFFF ] , [ 0.08 , 0.03 ] , null , gradientBoxMatrix ) ;
- g . drawRect ( 2 , 2 , w - 4 , h - 4 ) ;
- break ;
- }
- case “ downSkin ”:
- {
- break ;
- }
- case “ disabledSkin ”:
- {
- break ;
- }
- case “ selectedUpSkin ”:
- {
- break ;
- }
- case “ selectedOverSkin ”:
- {
- break ;
- }
- case “ selectedDownSkin ”:
- {
- break ;
- }
- case “ selectedDisabledSkin ”:
- {
- break ;
- }
- }
- }
上示代码只绘制了upSkin和overSkin两个状态的皮肤,其他的皮肤您可以尝试着完成。
如果觉得在样式表中每个状态的皮肤类都要指明很麻烦,可以使用以下语句:
- skin: Embed ( skinClass =’ skins.ButtonSkin ’);
或:
- skin: ClassReference (” skins.ButtonSkin ”);
最后效果如下:
(注:其他样式因为没有实现,所以只显示了Label)
MXML 皮肤编程:
此外,我们还可以使用MXML文件来制作皮肤。仍以Button组件制作为例。
打开Flex Builder 3,在FlexSkinTest项目中新建文件夹components,在components文件夹下新建文件夹skins,skins文件夹下新建ButtonSkin.mxml文件:
重写updateDisplayList方法,并填充上个例子中的绘图语句。
- //fill in the inner array: alpha
- private var _innerFrameAlphas : Array = [ 0.1 , 0.0 ] ;
- //inner high-light alpha
- private var _innerHighlightAlphas : Array = [ 0.08 , 0.03 ] ;
- override protected function updateDisplayList ( w : Number , h : Number ) : void
- {
- var g : Graphics = graphics ;
- g . clear () ;
- var gradientBoxMatrix : Matrix = new Matrix () ;
- g . lineStyle ( 1 , 0 xFFFFFF , 0.1 ) ;
- g . drawRect ( 0 , 0 , w , h ) ;
- // draw inner border and fill in gradual color
- g . lineStyle ( 1 , 0 × 000000 , 0.6 ) ;
- gradientBoxMatrix . createGradientBox ( w , h , Math . PI / 2, 0, 0);
- g.beginGradientFill(GradientType.LINEAR,[0xFFFFFF, 0xFFFFFF],_innerFrameAlphas,null,gradientBoxMatrix);
- g.drawRect(1, 1, w-2, h-2);
- g.endFill();
- // draw inner high-light border
- g.lineGradientStyle(GradientType.LINEAR,[0xFFFFFF, 0xFFFFFF],_innerHighlightAlphas,null,gradientBoxMatrix);
- g.drawRect(2, 2, w-4, h-4);
- }
再打开style.css,更改嵌入语句:
skin: ClassReference("components.skins.ButtonSkin");
此时可以发现皮肤已经更新了:
但是所有皮肤都是相同的,接下来我们设置不同的属性值区分不同的状态皮肤。
这时就用到了invalidateDisplayList方法,这个方法会呼叫updateDisplayList方法更新组件。
我们把前面的两个变量_innerFrameAlphas和innerHighlightAlphas封装:
- public function get innerFrameAlphas () : Array
- {
- return _innerFrameAlphas ;
- }
- public function get innerHighlightAlphas () : Array
- {
- return _innerHighlightAlphas ;
- }
- public function set innerFrameAlphas ( alphas : Array ) : void
- {
- _innerFrameAlphas = alphas ;
- invalidateDisplayList () ;
- }
- public function set innerHighlightAlphas ( alphas : Array ) : void
- {
- _innerHighlightAlphas = alphas ;
- invalidateDisplayList () ;
- }
之后在over这个State中,设置innerFrameAlphas和innerHighlightAlphas属性,重绘组件。
<mx:State name="over">
<mx:SetProperty target="{this }" name="innerFrameAlphas" value="{[0.15,0.05]}"/>
<mx:SetProperty target="{this }" name="innerHighlightAlphas" value="{[0.08,0.03]}"/>
</mx:State>
现在我们再发布一下,你会发现over状态的皮肤已经更新了。其余状态的皮肤您可尝试着完成,这里就不复述了。
最后,如果要在运行时加载皮肤,应把皮肤单独编译为SWF文件。
在CSS文件上右键->Comile CSS to SWF即可。
也可通过命令行“mxmlc style.css”来编译。
OK,在FLEX皮肤制作过程中,这几种方法是比较常用的,灵活运用可以使你的程序增色不少。
Cheers!
本文作者:auzn 英文版本首发于: Ntt.cc 翻译整理:minidxer 英文版本地址:
发表评论
-
转深入理解Flash的沙箱 – Security Domains
2014-01-22 09:35 840一篇很经典的进阶文章,国外牛人的分享,清晰明了,图文并茂,适 ... -
flex 很有用的东东!
2010-06-17 23:50 1269网上找了好久,原来API中就有! -
flex出现的一些问题
2010-04-08 12:19 16691.kingnarestyle.swf和flexlib 的Su ... -
flex 样式工作原理【转】
2010-04-08 12:09 1326http://hi.baidu.com/ls_mcx/blog ... -
在FlexBuilder3中使用Actionscript3进行元编程
2010-03-11 19:15 1044http://flash.9ria.com/thread-46 ... -
Error: No class registered for interface mx
2010-02-01 09:36 1248http://www.gold98.net/blog/arti ... -
Flash 视频(FLV)编码,转换,录制,播放方案一网打尽
2010-01-16 18:34 2023http://www.htmlit.com.cn/post/8 ... -
FLEX中使用FLVPlayback控件.
2010-01-16 18:29 1402http://www.cnblogs.com/xxcainia ... -
flex 继承Application及xml命名空间
2009-12-30 18:43 1522<?xml version="1.0" ... -
flex Repeater effert加效果
2009-12-15 17:25 1528package cn.ishion.component { ... -
学习自定义组件---ConstomButton
2009-12-14 15:06 1838效果只是让Button动了下, 上传了flash源文件 p ... -
flex编译生成的As代码
2009-12-09 18:30 1315new flexProject ->起名叫 test ... -
flex自定义preloader
2009-12-09 17:43 1918package cn.ishion.component { ... -
flex自定义程序 preloader 加载多个资源
2009-12-09 02:05 2291package cn.ishion.component { ... -
Flex Builder编译错误An internal build error has occurred的解决方法
2009-12-05 16:44 3216原文:http://as3blog.com/resources ... -
flex uicomponent.addChild(Button) Button不显示
2009-12-04 19:23 2147设置下Button的宽度和高度就行了 var ui:U ... -
as3 xls导出excel乱码问题解决办法
2009-12-04 11:37 3401http://blog.csdn.net/Baijinwen/ ... -
FlashDevelop配置Flex4(gumbo)环境
2009-12-04 10:27 3056http://www.flexrain.cn/fl ... -
flex gooogle code as3xls导出数据到excel
2009-12-03 19:16 2364var ex:ExcelFile=new ExcelFile ... -
Flex坐标系统及转换
2009-12-02 22:10 3105http://flash.9ria.com/thread-40 ...
相关推荐
### FLEX4 皮肤制作教程知识点详解 #### 一、SparkSkin介绍 1. **基本概念**: - SparkSkin是Adobe Flex 4 (Gumbo)框架中的一个关键类,用于自定义用户界面(UI)组件的外观。它提供了一种机制,允许开发者通过...
### FLEX4的皮肤制作教程 #### 一、SparkSkin介绍 在Adobe Flex 4 (代号Gumbo)中,为了提高用户界面(UI)的美观度和灵活性,引入了一个非常强大的概念——皮肤(Skin)。皮肤是用于定义控件外观的一系列元素组合,...
总的来说,这个“Flex制作的播放器”实例集为学习和实践Flex开发提供了一个很好的平台。通过逐步解析和实现这些示例,开发者不仅可以掌握Flex的基本用法,还能了解到如何利用Flex构建复杂的多媒体应用。对于想要进入...
在本教程中,我们将深入探讨如何利用Flash来设计和实现Flex样式的全面理解。 首先,让我们了解Flex CSS(皮肤和样式)。Flex CSS,也称为MXML CSS,是一种用于定义Flex组件外观的语言。它允许开发者通过CSS样式来...
【ArcGIS教程:Flex制作直观的交互式图表】 在现代Web应用中,提供直观和高度交互性的用户体验变得越来越重要。Flex作为一个开发框架,为开发者提供了这样的能力,它能够创建基于Adobe FlashPlayer的富客户端互联网...
本快速入门教程是业界专家的智慧结晶,旨在帮助初学者迅速掌握Flex 4.0的核心概念和技术。 1. **Flex SDK与Flash Builder 4**:Flex 4.0的开发环境主要依赖于Adobe Flash Builder 4,这是一个集成开发环境(IDE),...
这个入门教程和DEMO将引导你逐步学习Flex的基础知识,包括环境搭建、基本组件使用、数据绑定、事件处理、动画制作以及与服务器的交互。通过实践,你可以掌握创建富互联网应用的技能,为更深入的Flex开发打下坚实基础...
### FLEX从浅入深简单教程 #### 一、Flex基本概述 Flex是Adobe公司推出的一种强大工具和技术集合,主要用于开发和部署可升级的富互联网应用程序(Rich Internet Applications, RIA)。通过Flex,开发人员可以利用...
描述中的"Flex4权威指南 清晰中文版",暗示这是一个全面且深入的教程资源,可能包含了Flex 4的基本概念、组件使用、数据绑定、事件处理、动画制作、服务调用等多个方面的内容。这样的指南对于初学者理解Flex 4的框架...
### Flex开心农场类游戏开发教程知识点解析 #### 一、Flex技术概述 - **定义**:Flex是一种开源的软件框架,用于构建跨浏览器、跨平台的丰富互联网应用程序(RIA)。它结合了强大的编程语言ActionScript 3.0以及XML等...
《Flex4入门经典!Flex4>》是一本针对初学者精心编写...通过阅读本书并实践源码,读者可以全面了解Flex 4的各个方面,包括基础编程、组件使用、界面设计以及动画制作等,从而为成为一名合格的Flex开发者打下坚实的基础。
在提供的压缩包文件中,我们看到有"Flex拞暥彆No4復A.pdf"和"Flex拞暥彆No1-2復.pdf"两个文档,它们可能包含了Flex的分章节教程或者特定主题的深入讲解。这些文档可以帮助读者更深入地了解Flex的各个方面,例如组件...
根据提供的文档内容,我们可以推断出这是一篇关于皮肤制作的教程文档,主要涉及Adobe Flex框架中的皮肤(Skin)设计与实现。以下是对该文档所包含的重要知识点进行详细解析: ### 1. 皮肤(Skin)简介 在Adobe ...
本书《Flex 4:开发RIA应用程序》显然是一部详细阐述Flex 4技术的教程。通过阅读和实践书中的源代码,开发者可以学习到如何利用Flex 4构建功能完善的RIA。书中可能涵盖了ActionScript 3.0的基础、MXML的使用、Spark...
随着互联网技术的不断发展与进步,FlashBuilder 作为一款强大的开发工具,在制作交互式应用程序、游戏等方面发挥了重要作用。本手册旨在为用户提供一个全面且详细的指南,帮助用户快速掌握 FlashBuilder 4 的各项...
- **皮肤和样式**:Flex组件支持皮肤和样式,可以自定义组件外观。 4. **在CS4中的应用** - **动画制作**:AS3提供强大的时间轴控制,可以创建复杂的动画效果。 - **交互设计**:通过AS3,可以实现与用户的深度...
可以创建自定义的皮肤类,或者使用Flex框架的样式表来控制导航条的外观。 6. **响应式设计**:对于适应不同设备和屏幕尺寸的项目,导航条需要是响应式的。可以使用AS3的舞台尺寸检测和容器布局来调整导航条的大小和...