要做一个圆形按钮,在flex4里最直接的方法就是为button写一个皮肤。先看下样子:
下面是皮肤的代码:
<?xml version="1.0" encoding="utf-8"?>
<!--
round button
-->
<s:SparkButtonSkin 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">
<fx:Metadata>
<![CDATA[
[HostComponent("spark.components.Button")]
]]>
</fx:Metadata>
<fx:Script>
<![CDATA[
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
bg.width = bg.height = Math.max(unscaledWidth, unscaledHeight) - 2;
var cc:Number = Number(getStyle("chromeColor"));
if(isNaN(cc))
{
cc = 0xff0000;
}
bgFill.color = borderStroke.color = cc;
super.updateDisplayList(unscaledWidth, unscaledHeight);
}
]]>
</fx:Script>
<!-- states -->
<s:states>
<s:State name="up" />
<s:State name="over" />
<s:State name="down" />
<s:State name="disabled" />
</s:states>
<!--背景-->
<s:Ellipse id="bg" width="100%" height="100%" left="1" right="1" top="1" bottom="1">
<s:fill>
<s:SolidColor id="bgFill" color="0xffffff" alpha=".6" alpha.over=".8" alpha.down="1"/>
</s:fill>
</s:Ellipse>
<!--边框-->
<s:Ellipse id="border" left="0" right="0" top="0" bottom="0">
<s:stroke>
<s:SolidColorStroke id="borderStroke" color="0" />
</s:stroke>
</s:Ellipse>
<!--文本-->
<s:Label id="labelDisplay"
textAlign="center"
maxDisplayedLines="1"
horizontalCenter="0" verticalCenter="1" verticalAlign="middle"
left="5" right="5" top="2" bottom="2">
</s:Label>
</s:SparkButtonSkin>
使用方式:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<s:VGroup>
<s:TextInput id="ti"/>
<mx:ColorPicker id="cp"/>
<s:Button skinClass="skins.RoundButtonSkin" label="{ti.text}" chromeColor="{cp.selectedColor}"/>
</s:VGroup>
</s:Application>
s:SparkButtonSkin是sdk4.5+才有的,之前的请改成s:SparkSkin
- 大小: 2.1 KB
- src.zip (1.9 KB)
- 描述: source code
- 下载次数: 43
分享到:
相关推荐
FLEX4的皮肤制作教程FLEX4的皮肤制作教程FLEX4的皮肤制作教程FLEX4的皮肤制作教程
6款自己写的flex btn皮肤,其中包含4种无边框样式,2种带边框按钮。
flex皮肤flex皮肤flex皮肤flex皮肤flex皮flex皮肤肤
FLEX4的皮肤skin.教你如何使用皮肤
flex3 转 flex4 原来的皮肤不能使用,该文档是flex4的图片按钮类,非常好用哦,自己写的
flex 按钮 风格 打包 下载,您一定想定制各种不同风格的 flex 按钮 吧 看下吧 包你有用哦
Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表制作Flex图表...
Flex4 Spark皮肤详细制作讲解
FLEX 4超炫皮肤 FLEX 4超炫皮肤 FLEX 4超炫皮肤 FLEX 4超炫皮肤
flex datagrid 添加按钮并根据特定内容进行判断是否显示按钮
Flex 作出的按钮 可以作为参考,word里有显示的样子
httpservice实现搜狐焦点图新闻以及通过自定义皮肤制作特效按钮
你还在头痛flex4组件皮肤怎么自定义吗?看我给你们上传的吧;因皮肤中还是有部分mx组件,如果不能正常使用,请自己把所以mx组件改成sp组件
flex皮肤 大集合 很齐全 对flex开发人员很有帮助
三款漂亮的Flex的皮肤主题
skin_Flex_程序皮肤skin_Flex_程序皮肤skin_Flex_程序皮肤skin_Flex_程序皮肤skin_Flex_程序皮肤
Flex皮肤大全,各种样式的Flex控件皮肤大全-包括vista样式,W7样式,等等, 30 几种样式
主要介绍了flex如何自定义按钮皮肤,需要的朋友可以参考下
flex皮肤主题36款flex皮肤主题36款flex皮肤主题36款flex皮肤主题36款flex皮肤主题36款flex皮肤主题36款flex皮肤主题36款flex皮肤主题36款flex皮肤主题36款flex皮肤主题36款flex皮肤主题36款flex皮肤主题36款flex皮肤...