alpha.disabled在AS3的Spark的ButtonSkin中意味着什么?

时间:2013-12-06 15:24:53

标签: actionscript-3 flex flex-spark

从spark.skins.spark.ButtonSkin.mxml获取以下代码:

<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">

alpha.disabled是什么意思?因为alpha是类mx.core.UIComponent中的Number类型getter,而Numbers没有名为disabled的属性。即使他们这样做了,我也从未见过将getter的属性设置为MXML元素标签中的某些内容,至少我记得这一点。

我试图在其他几个地方查找发生了什么,但设置alpha.disabled这样的意思是什么?这里使用了什么语言结构?感谢。

1 个答案:

答案 0 :(得分:2)

这是对Flex 4.0中引入的“新”状态语法的引用。这意味着当组件的状态设置为禁用时,alpha属性将为0.5。否则,alpha状态将是默认值 - 我假设为1.

创建自己的组件时;并且使用这种方法,我喜欢为每个州指定值。有时我会使用'catch'。像这样:

<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="0.7"
         alpha.normal="1"
         alpha.disabled="0.5"
>

上述代码表示在禁用状态下,alpha属性为0.5。在正常状态下,alpha将为1.在所有其他状态中,alpha将为0.7。

属性后面的'state'名称也可以引用状态组而不是显式状态。