又名:如何在皮肤中设置 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 的部分不属于皮肤/组件的活动区域(我自己的术语)。但是目前这部分,因为它比其他部分大,所以点击时会点击按钮。
我使用光环效果做了一个快速测试,产生了不错的结果,但这并不是我想要的。