comp/MyIconButton.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:Button xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" skinClass="skins.MyIconSkin">
<fx:Script>
<![CDATA[
[Bindable]
public var icon:Object;
]]>
</fx:Script>
</s:Button>
comp/MyIconButton.mxml
<?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"
xmlns:mx="library://ns.adobe.com/flex/mx">
<!-- host component -->
<fx:Metadata>
<![CDATA[
/**
* @copy spark.skins.spark.ApplicationSkin#hostComponent
*/
[HostComponent("MyIconButton")]
]]>
</fx:Metadata>
<s:states>
<s:State name="up" />
<s:State name="over" />
<s:State name="down" />
<s:State name="disabled" />
</s:states>
<s:Graphic>
<s:BitmapImage source.up="{hostComponent.upIcon}"
source.over="{hostComponent.overIcon}"
source.down="{hostComponent.downIcon}"
source.disabled="{hostComponent.disabledIcon}"/>
</s:Graphic>
<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>
ButtonWithIcon.mxml
<?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"
xmlns:comp="*"
minWidth="955" minHeight="600">
<fx:Declarations>
<!-- 将非可视元素(例如服务、值对象)放在此处 -->
</fx:Declarations>
<comp:MyIconButton x="36" y="350"
upIcon="@Embed('images/mDeleteBtn_1.png')"
overIcon="@Embed('images/mDeleteBtn_1.png')"
downIcon="@Embed('images/mDeleteBtn_2.png')"
disabledIcon="@Embed('images/mDeleteBtn_1.png')"
useHandCursor="true" buttonMode="true"/>
<comp:MyIconButton x="36" y="450"
upIcon="@Embed('images/loginBtn_1.png')"
overIcon="@Embed('images/loginBtn_1.png')"
downIcon="@Embed('images/loginBtn_2.png')"
disabledIcon="@Embed('images/loginBtn_1.png')"
useHandCursor="true" buttonMode="true"/>
</s:Application>
分享到:
相关推荐
Flex自定义组件是Adobe Flex框架中的一个重要特性,它允许开发者创建具有特定功能和外观的UI元素,以满足项目中独特的用户界面需求。Flex是一个开源的、基于MXML和ActionScript的开发框架,主要用于构建富互联网应用...
这个主题聚焦于“flex自定义控件与事件”,这是一个关键的开发概念,特别是对于那些希望深入理解Flex架构和提升应用用户体验的开发者来说。 自定义控件在Flex开发中扮演着重要角色,它们允许开发者根据项目需求创建...
在Flex开发中,自定义右键菜单是一项常见的需求,它能为用户界面提供更丰富的交互体验。Flex是一款基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA)。在这里,我们将深入探讨如何在Flex中实现...
下面是一个自定义Button皮肤的示例。首先,我们需要创建一个XML文件,定义一个SparkSkin类并继承自`s:SparkSkin`: ```xml <s:SparkSkin xmlns:s="library://ns.adobe.com/flex/spark" xmlns:fx=...
本教程将深入探讨如何在Flex框架下自定义Button源码,以便更好地理解和优化你的应用程序界面。 首先,Flex是一种基于ActionScript和MXML的开源框架,用于创建富互联网应用程序(RIA)。它允许开发者构建具有动态...
在Flex4中,自定义组件是一项重要的技能,它允许开发者根据特定需求创建具有独特功能和外观的用户界面元素。本话题聚焦于自定义一个通用的`ImageButton`组件,该组件结合了图像和按钮的功能,提供了更丰富的交互体验...
1. **组件皮肤**:Flex3中的每个UI组件,如Button、Slider、TabNavigator等,都有预定义的皮肤。这些皮肤由MXML或ActionScript3代码定义,包含组件的各个部分,如背景、边框、文本样式等。通过替换这些皮肤,可以...
在本文中,我们将深入探讨关于...这6款皮肤展示了如何通过Flex的自定义皮肤机制来提升用户界面的视觉吸引力和交互体验。无论你是开发者还是设计师,理解并掌握Flex按钮皮肤的创建技巧,都能对你的项目带来显著的提升。
在Flex开发中,自定义组件皮肤是提升应用界面美观度和用户体验的重要手段。本文将详细介绍如何在Flex中自定义按钮的皮肤,通过示例代码帮助理解这一过程。 首先,我们来看一个Flex应用的主文件Test.mxml。在这个...
压缩包中的"关于皮肤.pdf"文件可能是对Flex皮肤更深入的指南,包括更复杂的皮肤设计技巧、自定义皮肤的注意事项以及最佳实践。这份文档可能会涵盖如何处理皮肤状态(如鼠标悬停、按下等)、如何使用9-patch图像以...
在本文中,我们将深入探讨如何在Flex环境中创建一个垂直排列的按钮(Flex Vertical Button)以及一个包含垂直标签的TabNavigator组件。Flex是一个基于ActionScript 3.0的开放源代码框架,用于构建富互联网应用程序...
在Flex中,皮肤是组件外观的具体实现,它可以是图形、图片或者更复杂的组合。每个Flex组件都有一系列的皮肤状态,如正常、鼠标悬停、按下等,开发者可以根据不同的状态应用不同的皮肤。通过更换皮肤,可以改变组件的...
在Flex4中,皮肤(Skin)是一个重要的概念,它允许开发者自定义组件的外观和交互体验,以满足不同应用的视觉设计需求。 Flex4 的皮肤系统是一个基于MXML和CSS的可扩展框架,允许开发者分离界面的视觉表现与功能逻辑...
这段代码展示了如何在Flex应用中引用自定义的Button皮肤,并将其应用到实际的Button组件上。 总之,通过理解SparkSkin和Skin的工作原理,以及掌握自定义Skin的方法,开发者能够有效地提升Flex应用的UI设计水平,使...
你可以创建一个新的皮肤类,覆盖默认的Button皮肤,并在其中设置背景颜色。皮肤通常由多个状态组成,以适应按钮的不同交互状态(如鼠标悬停、按下等)。例如,创建一个名为`MyButtonSkin.mxml`的皮肤文件: ```mxml...
创建一个自定义的按钮组件,如`CircleButton.mxml`,并指定`CircleButtonSkin`为它的皮肤类。这可以通过在`CircleButton.mxml`中设置`skinClass`属性来完成。 ```mxml ``` 这里,`local`是你的命名空间,`...
### Flex4 Spark皮肤详细制作讲解 #### 一、引言 在Flex4中,Adobe引入了新的皮肤系统,称为Spark Skin系统,旨在提供更高效、更灵活的UI设计能力。本篇文章将详细介绍如何利用Flex4中的Spark Skin进行控件样式的...
- 利用Flex 4的样式和皮肤ning机制,你可以为自定义Alert创建独特的外观。在CSS文件中定义新的皮肤类,然后在MXML组件中应用。 - 可以自定义的属性包括背景颜色、边框、字体、按钮样式等,通过设置`skinClass`属性...
2. **创建自定义皮肤类**:在Flex中,你可以通过继承已有的皮肤类(如 Halo或Spark的Skin类)来创建自己的Aqua皮肤。在新的皮肤类中,你需要覆盖或扩展默认的皮肤元素,如按钮、滑块、进度条等。 3. **应用皮肤**:...
在Flex4中,皮肤定制是UI设计的重要组成部分,它允许开发者根据需求自定义组件的外观和交互效果。本主题主要围绕`SparkSkin`类和`Skin`类展开,这两类在Flex4的皮肤定制中扮演着核心角色。 **SparkSkin介绍** `...