【发布时间】:2011-06-27 07:15:46
【问题描述】:
又名:如何在皮肤中设置 hitArea。
我需要使 flex 皮肤的一部分不可聚焦/不可点击,即当鼠标点击按钮的该部分时,它实际上并没有被点击。
基本上,我希望那部分是阴影、高光或背景,或者任何你喜欢的名字。它以某种方式通过阴影完成,但我希望拥有比使用过滤器更好的控制。
示例代码:
<s:SparkSkin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark" >
<fx:Metadata>
<![CDATA[
[HostComponent("spark.components.Button")]
]]>
</fx:Metadata>
<s:Ellipse id="nonFocusableBackground"
left="-20" right="-20" bottom="-20" top="-20">
...
</s:Ellipse>
<s:Rect id="focusableForeground" left="0" right="0" top="0" bottom="0">
...
</s:Rect>
</s:SparkSkin>
使用此代码,我希望 ID 为 nonFocusableBackground 的部分不属于皮肤/组件的活动区域(我自己的术语)。不过目前这部分由于比其他部分大,所以点击时会点击按钮。
我使用光晕效果做了一个快速测试,结果不错,但这不是我想要的。
【问题讨论】:
标签: flash apache-flex button flex4 skin