1文件结构 MXML应用程序 index.mxml

皮肤文件 components.button.skin.btnSkin1.mxml  皮肤文件的组件随便引用了spark.components.Button

2

index.mxml代码

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
  3. xmlns:s="library://ns.adobe.com/flex/spark"
  4. xmlns:mx="library://ns.adobe.com/flex/mx"
  5. minWidth="955" minHeight="600" backgroundColor="#00C955">
  6. <s:layout>
  7. <s:BasicLayout/>
  8. </s:layout>
  9.  
  10. <s:TileGroup x="122" y="53" width="500" height="500" orientation="columns">
  11. <s:Button label="Flex4 一个简单的默认按钮" />
  12. <s:Button label="Flex4 一个简单的按钮皮肤" chromeColor="#ccaacc"
  13. skinClass="components.button.skin.btnSkin1"/>
  14. <s:Button label="Flex4 一个简单的按钮皮肤" chromeColor="haloOrange"
  15. skinClass="components.button.skin.btnSkin1"/>
  16. <s:Button label="Flex4 一个简单的按钮皮肤" chromeColor="yellow"
  17. skinClass="components.button.skin.btnSkin1"/>
  18. <s:Button label="Flex4 一个简单的按钮皮肤" chromeColor="haloGreen"
  19. skinClass="components.button.skin.btnSkin1"/>
  20. <s:Button label="Flex4 一个简单的按钮皮肤" chromeColor="haloBlue"
  21. skinClass="components.button.skin.btnSkin1"/>
  22. <s:Button label="Flex4 一个简单的按钮皮肤" chromeColor="#000000"
  23. skinClass="components.button.skin.btnSkin1"/>
  24. <s:Button label="Flex4 一个简单的按钮皮肤"
  25. skinClass="components.button.skin.btnSkin1"/>
  26. <s:Button label="Flex4 一个简单的按钮皮肤" chromeColor="#ffffff"
  27. skinClass="components.button.skin.btnSkin1"/>
  28. </s:TileGroup>
  29.  
  30. </s:Application>

3

btnSkin1.mxml

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <s:SparkButtonSkin xmlns:fx="http://ns.adobe.com/mxml/2009"
  3. xmlns:s="library://ns.adobe.com/flex/spark"
  4. xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
  5. minWidth="40" minHeight="23"
  6. alpha.disabled="0.5">
  7.  
  8. <fx:Metadata>
  9. <![CDATA[
  10. [HostComponent("spark.components.Button")]
  11. ]]>
  12. </fx:Metadata>
  13.  
  14. <fx:Script>
  15. <![CDATA[
  16. [Bindable]
  17. public var bgColor:uint;
  18.  
  19. protected override function initializationComplete():void
  20. {
  21. bgColor=hostComponent.getStyle("chromeColor");
  22. useChromeColor = false;
  23. super.initializationComplete();
  24. }
  25. ]]>
  26. </fx:Script>
  27.  
  28. <!-- 按钮的基本状态 -->
  29. <s:states>
  30. <s:State name="up" />
  31. <s:State name="over" />
  32. <s:State name="down" />
  33. <s:State name="disabled" />
  34. </s:states>
  35.  
  36. <!-- 附件一个矩形,最外层-->
  37. <s:Rect id="shadow" left="0" right="0" top="0" bottom="0" radiusX="2">
  38. <s:fill>
  39. <s:LinearGradient rotation="90">
  40. <s:GradientEntry color="{bgColor}"
  41. color.down="0xff0033"
  42. alpha.down="0.5" />
  43. <s:GradientEntry color="0xFFFFFF"
  44. color.down="0xff0033"
  45. alpha.down="0.5" />
  46. </s:LinearGradient>
  47. </s:fill>
  48. </s:Rect>
  49.  
  50. <!-- 附件矩形-->
  51. <s:Rect id="fill" left="1" right="1" top="1" bottom="1" radiusX="2">
  52. <s:fill>
  53. <s:LinearGradient rotation="90">
  54. <s:GradientEntry color="0xFFFFFF"
  55. color.over="0xBBBDBD"
  56. color.down="0xff0033"
  57. alpha="0.85" />
  58. <s:GradientEntry color="0xD8D8D8"
  59. color.over="0x9FA0A1"
  60. color.down="0xff0033"
  61. alpha="0.85" />
  62. </s:LinearGradient>
  63. </s:fill>
  64. </s:Rect>
  65.  
  66. <!-- 附件矩形 弱色显示-->
  67. <s:Rect id="lowlight" left="1" right="1" top="1" bottom="1" radiusX="2">
  68. <s:fill>
  69. <s:LinearGradient rotation="270">
  70. <s:GradientEntry color="{bgColor}" alpha="0.0627" />
  71. <s:GradientEntry color="0xFFFFFF" alpha="0" />
  72. </s:LinearGradient>
  73. </s:fill>
  74. </s:Rect>
  75.  
  76. <!-- 附件矩形 高亮显示-->
  77. <s:Rect id="highlight" left="1" right="1" top="1" bottom="1" radiusX="2">
  78. <s:fill>
  79. <s:LinearGradient rotation="90">
  80. <s:GradientEntry color="{bgColor}"
  81. alpha.over="0.22"
  82. alpha.down="0.12"/>
  83. <s:GradientEntry color="0xFFFFFF"/>
  84. </s:LinearGradient>
  85. </s:fill>
  86. </s:Rect>
  87.  
  88. <!-- 附件矩形-->
  89. <s:Rect id="highlightStroke" left="1" right="1" top="1" bottom="1" radiusX="2" excludeFrom="down">
  90. <s:stroke>
  91. <s:LinearGradientStroke rotation="90" weight="1">
  92. <s:GradientEntry color="0xFFFFFF" alpha.over="0.22" />
  93. <s:GradientEntry color="0xD8D8D8" alpha.over="0.22" />
  94. </s:LinearGradientStroke>
  95. </s:stroke>
  96. </s:Rect>
  97.  
  98. <!-- 附件矩形 鼠标按下,高亮显示-->
  99. <s:Rect id="hldownstroke1" left="1" right="1" top="1" bottom="1" radiusX="2" includeIn="down">
  100. <s:stroke>
  101. <s:LinearGradientStroke rotation="90" weight="1">
  102. <s:GradientEntry color="0xff0033" alpha="0.25" ratio="0.0" />
  103. <s:GradientEntry color="0xff0033" alpha="0.25" ratio="0.001" />
  104. <s:GradientEntry color="0xff0033" alpha="0.07" ratio="0.0011" />
  105. <s:GradientEntry color="0xff0033" alpha="0.07" ratio="0.965" />
  106. <s:GradientEntry color="0xff0033" alpha="0.00" ratio="0.9651" />
  107. </s:LinearGradientStroke>
  108. </s:stroke>
  109. </s:Rect>
  110. <s:Rect id="hldownstroke2" left="2" right="2" top="2" bottom="2" radiusX="2" includeIn="down">
  111. <s:stroke>
  112. <s:LinearGradientStroke rotation="90" weight="1">
  113. <s:GradientEntry color="0xff0033" alpha="0.09" ratio="0.0" />
  114. <s:GradientEntry color="0xff0033" alpha="0.00" ratio="0.0001" />
  115. </s:LinearGradientStroke>
  116. </s:stroke>
  117. </s:Rect>
  118.  
  119. <!-- 附件矩形-->
  120. <s:Rect id="border" left="1" right="1" top="1" bottom="1" width="69" height="20" radiusX="2">
  121. <s:stroke>
  122. <s:LinearGradientStroke rotation="90" weight="1">
  123. <s:GradientEntry color="0xFFFFFF"
  124. alpha="0.5625"
  125. alpha.down="0.6375" />
  126. <s:GradientEntry color="0xFFFFFF"
  127. alpha="0.75"
  128. alpha.down="0.85" />
  129. </s:LinearGradientStroke>
  130. </s:stroke>
  131. </s:Rect>
  132.  
  133. <!-- 文本显示 -->
  134. <s:Label id="labelDisplay" text="{hostComponent.label}"
  135. left="12" right="12" top="0" bottom="0" horizontalCenter="0" verticalCenter="0"
  136. maxDisplayedLines="0" textAlign="center" verticalAlign="middle">
  137. </s:Label>
  138.  
  139. </s:SparkButtonSkin>

Flex学习笔记-皮肤的更多相关文章

  1. CSS3伸缩布局Flex学习笔记

    如果需要使用伸缩布局首先得把display:flex;对于兼容还得加前缀display:-webkit-display:flex;等其他浏览器前缀,但我本机Chrome测试已经不需要加前缀了,其实这些 ...

  2. Flex学习笔记-时间触发器

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  3. Flex学习笔记-Vgropu Hgroup 定义的组 表单程序。

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  4. Flex学习笔记-自定义菜单的显示细节

    icon <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx=&qu ...

  5. Flex学习笔记--多层菜单按钮

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  6. Flex学习笔记-使用MXML和一个AS事件监听器监听事件

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  7. flex学习笔记 使用函数,显示实时更新的标签

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  8. Flex学习笔记,脚本式验证

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

  9. Flex学习笔记PopUpMenuButton

    <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="ht ...

随机推荐

  1. Windows 10 的有趣快捷键

    先升级到最新版Windows 10,比如:易升 快捷键 功能 Ctrl+Win+C 感受黑白灰的世界 Win+Shift+S 系统级自由截图快捷键 Win+D Win+Ctrl+D Win+Ctrl+ ...

  2. QT编写的网页浏览器网页乱码解决方法

    1.如果是本地网页,可以将网页编码改为GB2312 <meta http-equiv="Content-Type" content="text/html; char ...

  3. 国外的开源项目Shopizer部署问题

    版本:shopizer-2.2.0 项目地址:https://github.com/shopizer-ecommerce/shopizer 使用IDEA时遇到和修改的问题 1.修改数据库类型为MYSQ ...

  4. 18年春招某编程题:有三个整数X,Y,Z,要求进行若干次操作使得X,Y,Z相等

    题目描述: 给定三个整数X,Y,Z,要求进行若干次操作使得X,Y,Z相等,操作有两种: 1.从X,Y,Z中选择两个数都加1. 2.从X,Y,Z中选择一个数加2. 求最少需要多少次操作. 题目思路: 1 ...

  5. Lucene 4.3 - Facet demo

    package com.fox.facet; import java.io.IOException; import java.util.ArrayList; import java.util.List ...

  6. JAVA虚拟机关闭钩子(Shutdown Hook)

    程序经常也会遇到进程挂掉的情况,一些状态没有正确的保存下来,这时候就需要在JVM关掉的时候执行一些清理现场的代码.JAVA中的ShutdownHook提供了比较好的方案. JDK提供了Java.Run ...

  7. 在Linux里安装Samba(文件共享)方便在Windows下面操作

    第一步:安装包 在CentOS是 yum install samba 在Ubuntu是 apt install samba 第二步:添加用户 adduser 用户名 smbpasswd -a 用户名 ...

  8. sqlite之多线程总结

    12.android 多线程数据库读写分析与优化 11.多线程操作Sqlite? ==== 11.android 多线程数据库读写分析与优化 最新需要给软件做数据库读写方面的优化,之前无论读写,都是用 ...

  9. Jmeter(二十六)Jmeter-Question之“集成Jenkins”

    Jenkins,最初被称为Hudson,是一个Java语言编写的开源持续集成工具.Jenkins在持续集成领域的市场份额居于主导地位,其被各种规模的团队用于各种语言和技术的项目中,比如.net.rub ...

  10. vue 绑定属性 绑定Class 绑定style

    <template> <div id="app"> <h2>{{msg}}</h2> <br> <div v-bi ...