`
lipbb
  • 浏览: 68646 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

flex 圆形按钮皮肤的制作

阅读更多
要做一个圆形按钮,在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
分享到:
评论
2 楼 pr0608 2015-01-13  
在你的皮肤上改了一下,变成透明无边框的皮肤了!
终于搞定了 button 去掉边框的问题。
thanks!

<!--图片样式-->
<s:Rect id="fill" left="1" right="1" top="1" bottom="1" radiusX="2">
<s:fill>
<s:BitmapFill source.up="@Embed('com/actec/gis/assets/image/map/圈选2.png')"
  source.down="@Embed('com/actec/gis/assets/image/map/圈选3.png')"
  source.over="@Embed('com/actec/gis/assets/image/map/圈选1.png')" />
</s:fill>
</s:Rect>
<!--背景-->
<s:Ellipse id="bg" width="100%" height="100%" left="0" right="0" top="0" bottom="0"> 
<s:fill> 
<s:SolidColor id="bgFill" color="0" alpha="0" alpha.over="0" alpha.down="0"/> 
</s:fill> 
</s:Ellipse>   

<!--边框--> 
<s:Ellipse id="border" left="0" right="0" top="0" bottom="0"> 
<s:stroke> 
<s:SolidColorStroke id="borderStroke" color="0" alpha="0" alpha.over="0" alpha.down="0"/> 
</s:stroke> 
</s:Ellipse> 
1 楼 穷困潦倒赊账度日 2012-12-21  
抢个沙发

相关推荐

    flex 6款按钮皮肤

    在本文中,我们将深入探讨关于Flex按钮皮肤的知识,特别是标题提到的"flex 6款按钮皮肤"。Flex是一种流行的开源框架,主要用于构建可伸缩的、跨平台的用户界面,尤其在RIA(富互联网应用程序)领域广泛应用。按钮是...

    flex4.5httpservice实现搜狐焦点图新闻和特效按钮皮肤制作

    在本项目中,“flex4.5httpservice实现搜狐焦点图新闻和特效按钮皮肤制作”涉及到的核心技术是 Flex 4.5 的 HTTPService 组件、自定义皮肤以及动态数据展示。 HTTPService 是 Flex 中用于与服务器进行 HTTP 通信的...

    Flex 作出的按钮

    在描述中提到的“word里有显示的样子”,可能是指在Word文档中展示了使用Flex制作的按钮的视觉效果或设计示例。 创建Flex按钮的基本步骤如下: 1. **导入Button类**:首先,在代码中引入`mx.controls.Button`类。 ...

    FLEX4的皮肤制作教程

    ### FLEX4的皮肤制作教程 #### 一、SparkSkin介绍 在Adobe Flex 4 (代号Gumbo)中,为了提高用户界面(UI)的美观度和灵活性,引入了一个非常强大的概念——皮肤(Skin)。皮肤是用于定义控件外观的一系列元素组合,...

    FLEX4的皮肤skin

    在Flex 4中,皮肤(Skin)是一种强大的机制,用于改变和定制UI组件的外观和交互体验。本文将深入探讨FLEX4中的皮肤系统,特别是SparkSkin类,并通过实例展示如何创建和应用自定义皮肤。 1. SparkSkin的介绍: ...

    flex4.5图片按钮皮肤

    flex3 转 flex4 原来的皮肤不能使用,该文档是flex4的图片按钮类,非常好用哦,自己写的

    flex按钮各种风格按钮

    Flex按钮的定制能力非常强大,通过CSS样式、皮肤以及事件处理,开发者可以创建出符合应用需求的各种风格的按钮。结合提供的资源文件,如`catalog.xml`和`library.swf`,可以进一步提升开发效率,为用户界面设计提供...

    flex4自定义组件皮肤

    - 例如,如果你有一个名为`MyButton.as`的自定义按钮,你可以在其中写入`skinClass="skins.MyButtonSkin"`来关联皮肤。 4. **处理不同状态** - Flex组件有多种状态,如`normal`, `disabled`, `hovered`等。在皮肤...

    三个Flex的皮肤

    这些皮肤可能包括颜色、字体、边框、按钮样式、滑块样式等各种元素的差异,为Flex应用程序提供多样化的外观。 描述中提到的"三款漂亮的Flex的皮肤主题"意味着我们可以期待三个美观的设计,它们可能各有特色,适合...

    flex datagrid 添加按钮

    通过以上步骤,我们就能够在Flex的DataGrid中添加了一个根据内容判断显示的按钮。这个过程涉及了组件定制、数据绑定、条件逻辑和事件处理等多个核心概念,对深入理解Flex的开发非常有帮助。在实际应用中,还可以...

    FLEX 4超炫皮肤

    FLEX 4超炫皮肤 FLEX 4超炫皮肤 FLEX 4超炫皮肤 FLEX 4超炫皮肤

    flex 经典 皮肤主题

    在本文中,我们将深入探讨Flex的经典皮肤主题及其与CSS样式、皮肤的关系。 一、Flex概述 Flex是一种开源的开发框架,主要用于构建基于Flash Player或Adobe AIR运行时的应用程序。它提供了丰富的组件库,使开发者...

    flex皮肤flex皮肤

    Flex皮肤是一种专为Adobe Flex应用程序设计的用户界面样式。Flex是一个开源框架,用于构建富互联网应用程序(RIA),它使用ActionScript编程语言和MXML标记语言。在Flex中,皮肤是可定制的外观组件,允许开发者根据...

    Flex 皮肤大全,各种样式的Flex控件皮肤大全

    1. **Flex控件样式**:Flex控件是构建用户界面的基本元素,如按钮、文本框、列表等。每种控件都可以通过更换皮肤来改变其视觉呈现。这些样式可能包含不同的颜色、形状、边框、阴影等效果,以适应不同主题和设计规范...

    flex4 皮肤

    Flex4的皮肤还支持9-slice缩放,这是一种使图形在不同尺寸下保持比例缩放的技巧,特别适合按钮、面板等需要拉伸的组件。同时,皮肤可以引用外部SWF、图像或字体资源,以实现更丰富的视觉效果。 源码的提供使得...

    Flex Itunes7 皮肤

    Flex皮肤,顾名思义,就是用Flex技术制作的用户界面皮肤,可以改变应用程序的外观和交互体验。 Flex iTunes7皮肤,正如其名,是专为iTunes7设计的一款皮肤,它利用Flex的强大功能,为iTunes带来了全新的视觉效果和...

    FLEX4 皮肤制作教程

    ### FLEX4 皮肤制作教程知识点详解 #### 一、SparkSkin介绍 1. **基本概念**: - SparkSkin是Adobe Flex 4 (Gumbo)框架中的一个关键类,用于自定义用户界面(UI)组件的外观。它提供了一种机制,允许开发者通过...

    Flex4 Spark皮肤

    ### Flex4 Spark皮肤详细制作讲解 #### 一、引言 在Flex4中,Adobe引入了新的皮肤系统,称为Spark Skin系统,旨在提供更高效、更灵活的UI设计能力。本篇文章将详细介绍如何利用Flex4中的Spark Skin进行控件样式的...

    flex 皮肤 大集合

    flex皮肤 大集合 很齐全 对flex开发人员很有帮助

Global site tag (gtag.js) - Google Analytics