我只是不明白爲什麼mouseEnabledWhereTransparent不適用於此皮膚。mouseEnabledWhereTransparent不按預期工作
創建的皮膚基本上是一個帶有透明背景和左側的小三角形的按鈕,如下所示:> ButtonText但Triangle周圍的空白空間不會接收鼠標事件。
我試過圍繞三角形路徑包裹另一組,並試圖將它包裝到一個圖形對象中,也沒有成功。我可以在任何地方創建一個帶0 alpha的Rect,但不是那個mouseEnabledWhereTransparent應該爲我做什麼?
<?xml version="1.0" encoding="utf-8"?>
<s:SparkSkin 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"
mouseEnabledWhereTransparent="true">
<!-- host component -->
<fx:Metadata>
<![CDATA[
[HostComponent("spark.components.Button")]
]]>
</fx:Metadata>
<!-- states -->
<s:states>
<s:State name="up" />
<s:State name="over" />
<s:State name="down" />
<s:State name="disabled" />
</s:states>
<!-- triangle tip -->
<s:Path data="M 0 0 L 0 14 L 10 7 L 0 0" bottom="5">
<s:fill>
<s:SolidColor color="0xFFFFFF" />
</s:fill>
</s:Path>
<!-- text -->
<s:Label id="labelDisplay"
textAlign="center"
verticalAlign="bottom"
maxDisplayedLines="1"
left="14" right="10" top="2" bottom="2" color="0x000000" fontSize="14">
</s:Label>
</s:SparkSkin>
您是否運行了以下答案? – Ryan 2011-03-02 18:06:26
好吧,如果它有mouseEnabledWhereTransparent = true,那麼完全空的組將響應不可見區域上的mouseEvents。當mouseEnabledWhereTransparent = true時,SparkSkin將不會響應不可見區域上的mouseEvents。 SparkSkin是Group的一個子類。我不明白。 – iddqd 2011-03-02 21:35:41