今天聊一下FLEX中自定义皮肤的按钮的制作。首先这是一个按钮皮肤文件:

<?xml version="1.0" encoding="utf-8"?>
<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:fb="http://ns.adobe.com/flashbuilder/2009" minWidth="21" minHeight="21" alpha.disabled="0.5"><!-- host component --><fx:Metadata><![CDATA[ [HostComponent("spark.components.Button")]  //表明这是一个按钮皮肤]]></fx:Metadata><!-- states --><!--按钮的四种状态--><s:states><s:State name="up" /><s:State name="over" /><s:State name="down" /><s:State name="disabled" /></s:states><!-- skinParts中定义的外观部件,表示按钮上的文字--><s:Label id="labelDisplay"textAlign="center"verticalAlign="middle"maxDisplayedLines="1"horizontalCenter="0" verticalCenter="1"left="10" right="10" top="2" bottom="2"></s:Label></s:SparkSkin>

在Flex4.0 API中,打开spark.components.Button可以看到:

这里定义了按钮的几种状态,而则是按钮的外观部件,这里指的是按钮上面的文字。

然后我为按钮指定一个填充背景:

<s:Rect id="buttonColor" top="0" bottom="0" left="0" right="0"radiusY="50" radiusX="50"width.over="900" width.down="700" >    <s:fill><s:SolidColor color.up="#0074aa" color.over="#64BC48" color.down="#FF7256"/></s:fill>

此时我们应用这个小皮肤会发现,按钮上的文字有点按钮难以看清,此时有一个小技巧就是将Label的颜色改为白色.

接下里给按钮加上状态切换时候的动画:

<s:transitions><s:Transition fromState="up" toState="over">            <s:Resize target="{buttonColor}"   widthBy="100"/>            </s:Transition><s:Transition fromState="over" toState="up">    <s:Resize target="{buttonColor}"   widthBy="-100"/>    </s:Transition><s:Transition fromState="over" toState="down">    <s:Resize target="{buttonColor}" widthBy="-100"/>    </s:Transition></s:transitions>

在这里我发现了一个问题,就是我用这些效果起作用的前提是你的按钮的宽度都是固定的

<!--不能在此设定按钮的宽度--><s:Button   label="定制按钮实例_Flex开发课堂"  fontFamily="黑体"  fontSize="40"top="10"  skinClass="skins.really_defaultButton"horizontalCenter="0" verticalCenter="0"></s:Button>

到这里一个自定义皮肤的按钮就做好了。

2013-07-25 09:25:04

转载于:https://www.cnblogs.com/fuwanqiu/p/3213570.html

flex中自定义皮肤的按钮制作相关推荐

  1. [转]Flex 中的皮肤

    Flex中的皮肤(一) 这里是第一篇,将讲述一下Flex中如何应用UI的皮肤,其实应用UI皮肤不难,你们在使用Flex的过程中是否觉得Flex中自带的皮肤样式不太好看? 或者是想自已做个比较有特色的? ...

  2. [教程] Flex中的皮肤

    Flex中的皮肤(一) 好久没有写文章了,一直用"忙"来为自已找籍口,其实是懒,不过这个月发生了这么大的事情 5.12让我们每个人都永记心中,看到中国人的团结,看见解放军们志愿者们 ...

  3. Flex4 Skinning 1: 自定义一个简单按钮的皮肤

    Flex4使得改变应用程序的外观变得异常简单,这主要归功于新的皮肤框架(skinning architecture),通过它我们可以将组件中的可视化元素和逻辑完全分离.也正因为这个思想的引导,我们可以 ...

  4. java 自定义形状按钮_制作自定义背景Button按钮、自定义形状Button的全攻略

    在Android开发应用中,默认的Button是由系统渲染和管理大小的.而我们看到的成功的移动应用,都是有着酷炫的外观和使用体验的.因此,我们在开发产品的时候,需要对默认按钮进行美化.在本篇里,笔者结 ...

  5. Flex中实时动态加载(图像swf)皮肤的方法

    本篇介绍了通过As3的条件反射机制,getDefinition方法实现动态加载 UI的一种实现 一篇翻译的文章,来自 The Kiwi Project ,这种方法很有用,但是唯一的问题就是,在加载皮肤 ...

  6. 一个不错的讲解flex 3中自定义事件的文章

    一个不错的讲解flex 3中自定义事件的文章 http://wangyisong.javaeye.com/blog/376118,一个不错的讲解flex 3中自定义事件的文章 posted on 20 ...

  7. VBA自定义工具栏按钮制作方法

    在 Excel 中点击菜单 "工具" → "自定义" ,在弹出的对话框中选择 "命令"栏,在左边的"类别"框中选择&qu ...

  8. 如何制作.Text Blog自定义皮肤

    如何制作.Text Blog自定义皮肤 昨天在CSDN上发表了一片关于制作.Text Blog自定义皮肤的文章,对于刚接触.TextBlog的爱好者可以参阅 察看.(老手想必都会了,呵呵,小生在此耍耍 ...

  9. win32 C++制作美观按钮,告别win32 API编程中默认的灰色按钮

    使用win32 C++制作美观按钮,当鼠标移入/移出按钮时改变按钮背景颜色,类似HTML网页中的效果,告别win32 API编程中默认的灰色按钮,效果图见下面动图和视频. win32 C++制作美观按 ...

最新文章

  1. python入门教程完整版(懂中文就能学会)-Python入门教程完整版!(懂中文的就能学会)...
  2. typeScript面试必备之-通识七:typeScript中的可索引接口(数组,对象)+类类型接口...
  3. 【ijkplayer】编译 Android 版本的 ijkplayer ① ( Ubuntu 安装 Git 软件 | 下载 ijkplayer 代码 )
  4. LeetCode算法题2:求字符串b在字符串a中的起始下标
  5. HSIPAW(昔卜)
  6. win7虚拟磁盘服务器,Win7系统如何删除虚拟磁盘 win7系统删除虚拟磁盘的方法
  7. [云炬创业学笔记]第三章商业创意的发掘与评估测试2
  8. MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
  9. 用英伟达Jetson Nano运行PyTorch Fast.ai丨手把手教程+第三方工具
  10. python编写时钟代码_python编写时钟代码
  11. 三位深度学习之父共获2019年图灵奖,学术人生令人赞叹!!!
  12. java简易计算器程序框图_简易计算器程序设计思路及流程图
  13. Unity读取CSV表格时出现中文乱码处理方式
  14. Win10系统修改开机密码
  15. 《戴上“白帽子”的黑客们:把漏洞变成礼物》
  16. 从python爬虫以及数据可视化的角度来为大家呈现“227事件”后,肖战粉丝的数据图
  17. Ubuntu系统录屏webm格式mp4格式方法
  18. 阿里大数据ACP认证对找工作到底有用嘛?
  19. MATLAB虫害检测农业应用设计
  20. 飞飞cms模板,飞飞cms自适应模板,飞飞cms影视模板

热门文章

  1. 如何把睡袋转给别人_微信收到的语音如何转给别人?试试这2个方法,没准能帮到你...
  2. 展示 测速_科技产品 | 人工智能amp;科技展示厅——助力高校人工智能学科建设及产业人才培养...
  3. python读取只读word只读_人生苦短我学Python——Word处理之快速Word转PDF
  4. java常见的报错_Java中常见的错误有哪些?
  5. mvc jquery ajax方法,Mvc Jquery Ajax功能不起作用[关闭]
  6. 宠物商店(pet-shop) 学习笔记
  7. 【算法】单源最短路径和任意两点最短路径总结(补增:SPFA)
  8. 新疆大学OJ(ACM) 1099: 数列有序!
  9. 51nod 1098 最小方差 排序+前缀和+期望方差公式
  10. 2018年长沙理工大学第十三届程序设计竞赛 G-逃离迷宫