从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
这样的意思是什么?这里使用了什么语言结构?感谢。
答案 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'名称也可以引用状态组而不是显式状态。