flex4 skin 使用外部图片,当需要自定义一个组件时,需要用到一些外部图片,对于一些flex3的遗留思想,
希望通过css来控制,
upSkin="{null}"
overSkin="mx.skins.halo.ButtonSkin"
downSkin="mx.skins.halo.ButtonSkin"
disabledSkin="mx.skins.halo.ButtonSkin"
在flex4中,对于 spark 组件就不行了
flex4 创建css 就不多介绍了
现以button引入外部image (常用*.png,*.swf中图片)为例:
<?xml version="1.0" encoding="utf-8"?>
<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[
/**
* @copy spark.skins.spark.ApplicationSkin#hostComponent
*/
[HostComponent("spark.components.Button")]
]]>
</fx:Metadata>
<fx:Script fb:purpose="styling">
<![CDATA[
import spark.components.Group;
/* Define the skin elements that should not be colorized.
For button, the graphics are colorized but the label is not. */
static private const exclusions:Array = ["labelDisplay"];
/**
* @private
*/
override public function get colorizeExclusions():Array {return exclusions;}
/**
* @private
*/
override protected function initializationComplete():void
{
useChromeColor = true;
super.initializationComplete();
}
]]>
</fx:Script>
<s:states>
<s:State name="up"/>
<s:State name="over"/>
<s:State name="down"/>
<s:State name="disabled"/>
</s:states>
<s:BitmapImage smooth="true"
source="@Embed('button-up.png')"
source.up="@Embed('button-up.png')"
source.down="@Embed('button-down.png')"
source.disabled="@Embed('button-disabled.png')"
/>
<s:Image smooth="true" source="@Embed(source='MyButton.swf',symbol='pBtnUp')" />
<s:Label id="labelDisplay" />
</s:SparkButtonSkin>
分享到:
相关推荐
- 在MXML中,你可以使用`<s:Skin>`标签作为根元素,并添加如`<s:Rect>`, `<s:Path>`, `<s:Image>`等图形元素来构建皮肤。 3. **关联组件和皮肤** - 自定义的皮肤需要与组件关联。在组件类中,使用`skinClass`属性...
在Flex4中实现这样的组件通常涉及到两个主要部分:组件类(Component Class)和皮肤类(Skin Class)。我们将深入探讨这两个方面以及如何通过源码文件`ImageButton.as`和`ImageButtonSkin.mxml`来理解这一过程。 ...
本文将详细介绍如何在Flex 3中通过自定义类实现背景平铺,并简要说明Flex 4中的实现方法。 #### 二、Flex 3中的背景平铺实现 ##### 2.1 自定义类RepeatBackground 在Flex 3中,为了实现背景图的平铺效果,我们...
在Flex4中,开发者经常需要根据项目需求对标准UI组件进行自定义,以实现独特的界面效果和交互体验。本主题将深入探讨如何在Flex4的Spark主题下开发一个带有图标的自定义输入框皮肤组件,并实现圆角效果。首先,我们...
1. **使用Style和Skin**:Flex支持两种主要的方式来改变组件的颜色:样式(Style)和皮肤(Skin)。样式是简单的CSS样式的应用,如字体颜色、背景色等。皮肤则更为复杂,它允许自定义组件的完整外观,包括绘制图形、...
SWF文件可以存储所有样式,然后在项目中引用,如`<mx:Style source="flex_skin.css"/>`。 四、行为对象与动画效果 1. 行为对象是事件和动画效果的组合,例如`...
- **高级皮肤专题**:深入探讨如何使用Flex Skin框架为组件创建自定义外观。 - **自定义数据验证组件**:构建具有复杂数据验证逻辑的组件。 - **布局、导航、状态组件的实践**:详细介绍这些高级组件的使用场景和...
这通常通过在CSS中定义`background-image`属性实现,赋予Panel一个独特的视觉风格。 `FlexSkinTest.mxml` 文件很可能是一个MXML应用程序,用于测试和展示Panel的各种皮肤。在MXML中,我们可以创建一个Panel实例,并...
- **Create Flexor (创建弹性器)**:创建可以控制模型柔软程度的特殊对象。 - **Reassign Bone Lattice Joint (重新分配骨骼格子关节)**:调整模型的骨骼绑定,使某些部分更加符合实际的生物结构。 - **Goto Bind ...