我从默认按钮皮肤开始为火花按钮创建一个新皮肤。然后我删除了皮肤中的所有层,除了文本层。如果我正常使用这个皮肤的按钮,一切正常。如果我将按钮放在 ItemRenderer 中,当我悬停其中一个按钮时,它会变成灰色阴影。这是一个代码示例。
皮肤:
<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">
<!-- host component -->
<fx:Metadata>
<![CDATA[
/**
* @copy spark.skins.spark.ApplicationSkin#hostComponent
*/
[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>
<!-- layer 8: text -->
<!--- @copy spark.components.supportClasses.ButtonBase#labelDisplay -->
<s:Label id="labelDisplay"
textAlign="center"
verticalAlign="middle"
maxDisplayedLines="1"
horizontalCenter="0" verticalCenter="1"
left="10" right="10" top="2" bottom="2">
</s:Label>
我使用它的代码:
<s:applicationComplete>
<![CDATA[
dg.dataProvider = new ArrayList(['but1', 'but2']);
]]>
</s:applicationComplete>
<s:DataGroup id="dg">
<s:layout>
<s:HorizontalLayout gap="0" />
</s:layout>
<s:itemRenderer>
<fx:Component>
<s:ItemRenderer>
<s:Button skinClass="Test" label="{data}" width="200" height="50"/>
</s:ItemRenderer>
</fx:Component>
</s:itemRenderer>
</s:DataGroup>
我怎样才能阻止这种情况发生?