下面以Button组件为例,开始FLEX皮肤制作的入门。

我们先在Flex Builder 3中新建一个项目FlexSkinTest

新建文件夹style,并在style文件夹下新建style.css文件:

双击打开style.css,切换到Design面板并新建一个样式:

选择Button组件:

按下OK后可以看到按钮的8种状态。便于测试,我们把背景色调整为0×333333:

切换到Source面板调整字体样式:

  1. Button
  2. {
  3. color:#AAAAAA;/*Color*/
  4. textRollOverColor:#FFFFFF; /*text rolling over color*/
  5. textSelectedColor:#FFFFFF; /*SelectedColor*/
  6. disabledColor:#5A5A5A; /* disabledColor */
  7. fontWeight:normal; /*fontweight*/
  8. }

结果如下图:

接下来的工作就是把按钮的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样式中加入下面语句:

  1. upSkin:Embed(source=”skin.swf”, symbol=”Button_upSkin”);

解释一下,upSkin,Button弹起状态皮肤。Embed语句,用于将外部资源嵌入程序中使用,本例中将skin.swf中的Button_upSkin元件嵌入到样式中。

保存后切换到Design面板,会发现up状态已经更新为我们刚才制作的元件了:

使用同样的方法来制作其他状态皮肤,要注意给元件赋合适的名字。最后CCS如下:

  1. Application
  2. {
  3. backgroundGradientAlphas: 1.0, 1.0;
  4. backgroundGradientColors: #333333, #333333;
  5. }
  6. Button
  7. {
  8. color: #AAAAAA;
  9. textRollOverColor: #FFFFFF;
  10. textSelectedColor:#FFFFFF;
  11. disabledColor:#5A5A5A;
  12. fontWeight:normal;
  13. upSkin: Embed(source=”skin.swf”, symbol=”Button_upSkin”);
  14. overSkin: Embed(source=”skin.swf”, symbol=”Button_overSkin”);
  15. downSkin: Embed(source=”skin.swf”, symbol=”Button_downSkin”);
  16. disabledSkin: Embed(source=”skin.swf”, symbol=”Button_disabledSkin”);
  17. selectedUpSkin: Embed(source=’skin.swf’, symbol=’Button_selectedUpSkin’);
  18. selectedOverSkin: Embed(source=’skin.swf’, symbol=’Button_selectedOverSkin’);
  19. selectedDownSkin: Embed(source=’skin.swf’, symbol=’Button_selectedDownSkin’);
  20. selectedDisabledSkin: Embed(source=’skin.swf’, symbol=’Button_selectedDisabledSkin’);
  21. }

效果图:

接下来我们打开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两个文件。

转载于:https://www.cnblogs.com/jiahuafu/archive/2009/10/16/1584349.html

下面以Button组件为例,开始FLEX皮肤制作的入门。相关推荐

  1. flex 皮肤制作教程

    FLEX3.0组件可以通过CSS来控制样式,这里的CSS和平时编写网页时所谈及的CSS是有区别的,可以说是为FLEX量身定制的样式表,借助ActionScript可以实现强大的 显示 效果,下面的示例 ...

  2. flex皮肤制作---通过flash

    1:你已经安装了flash cs3和Adobe Extension Manager CS3. 建议使用Adobe Design Premium CS3安装,单独安装Adobe Extension Ma ...

  3. flex皮肤制作工具—-Flex Skin Design Extension for Flash

    1:你需要安装了flash cs3和Adobe Extension Manager CS3. 下载:Adobe Extension Manager CS3 2:点击 Flex Skin Design ...

  4. 组件封装--button组件

    模仿elementUI组件库,封装自己的组件库. 一.  主要实现代码 刚开始想要封装width,height属性,可以让用户修改按钮大小.但是会出现一个问题,如果按钮文字 子组件<templa ...

  5. flash中制的SWC组件怎样导入到flex中使用

    flash中制的SWC组件怎样导入到flex中使用 2010-04-30 11:18 在使用FLASH导出SWC组件文件后,放入项目的LIB文件夹,然后要用实例化一个对象才能进行时操作使用, 但要记得 ...

  6. 【Python】Label组件 Button组件 Checkbutton组件

    Label组件 Label组件是用于在界面上输出描述的标签. #导入tkinter模块所有内容 from tkinter import *#创建一个主窗口,可以容纳整个GUI程序 root = Tk( ...

  7. element-ui button组件 radio组件源码分析整理笔记(一)

    Button组件 button.vue <template><buttonclass="el-button"@click="handleClick&qu ...

  8. 【鸿蒙 HarmonyOS】UI 组件 ( Button 组件 )

    文章目录 一.布局文件中设置 Button 组件属性 二.代码中修改 Button 组件属性 三.Button 点击事件 四.完整代码示例 五.执行结果 六.GitHub 地址 一.布局文件中设置 B ...

  9. Tkinter的Button组件的使用

    Button组件是用于实现一个按钮,它的绝大多数选项跟Label组件是一样的,不过Button组件有一个 command选项,用于指定一个函数或者方法,当用户点击按钮的时候,Tkinter就会自动地区 ...

  10. 微信小程序_(表单组件)button组件的使用

    微信小程序表单组件button官方文档 传送门 Learn 一.button组件的使用 一.button组件的使用 size:按钮的大小[默认值default] type:按钮的样式类型[默认值def ...

最新文章

  1. 疫情之下,MWC 2020正式取消!此前仍有中国公司表态坚持参展
  2. python程序文件扩展名有_python程序文件的扩展名称是什么
  3. 【快速安装Docker服务及Docker配置、Docker常用命令。】
  4. c 语言动态增加字符串长度6,【分享】C语言动态长度字符串
  5. segy地震数据的读取python_SEGY地震数据格式分析与读写
  6. 【资源下载】分享个嵌入式开发的入门教程(包含视频)
  7. 票务搜索网站有戏网“今夜有戏”
  8. python找零_【python算法书】硬币找零问题?
  9. 输入一个正整数,求出它是几位数
  10. 学计算机会不会做ppt,学习计算机心得与体会.ppt
  11. DecisionTreeClassifier决策树
  12. 一场网约车司机们的「合作社实验」
  13. Antialiasing (Fullscreen)抗锯齿特效
  14. 中新金盾DDOS软件防火墙——防御CC攻击的好帮手
  15. QGC地面站Mavlink生成和MockLink模拟收发通讯
  16. spring.factories机制
  17. java每日一练——第三天:对用户输入的任一整数,输出以下多项式的值。 y=2x2+x+8
  18. 安防监控之软硬件环境分析和通信结构体定义
  19. python实例分析二
  20. Python3 如何实现汉字转换拼音?

热门文章

  1. Daily scrum 10.12
  2. vim 插件 -- NERDTree
  3. 重学AS3之基础知识重点记忆
  4. 【c++】知识点积累
  5. bzoj 2743spoj DQUERY - D-query
  6. 简单分布式系统构建知识
  7. 在Linux上配置xampp后远程访问域名报错
  8. (转)(VS2013 )由于应用程序配置不正确,程序未能启动”--原因及解决方法...
  9. 收集一些关于视频文件格式以及编码计算的一些知识
  10. 利用cca进行fmri分析