我有一个自定义组件GlassSkin.mxml
:
<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:local="*" minHeight="20" minWidth="20">
<fx:Metadata>
[HostComponent("spark.components.SkinnableContainer")]
</fx:Metadata>
<s:states>
<s:State name="normal" />
<s:State name="disabled" />
</s:states>
<s:Rect left="0" right="0" top="0" bottom="0">
<s:alpha>0.3</s:alpha>
<s:radiusX>3</s:radiusX>
<s:fill>
<s:SolidColor>#000000</s:SolidColor>
</s:fill>
</s:Rect>
<s:Group id="contentGroup" width="100%" height="100%" left="5" right="5" top="5" bottom="5"></s:Group>
</s:Group>
在主mxmm中,我使用自定义组件,如:
<local:GlassSkin width="600" height="400" horizontalCenter="0" verticalCenter="0">
Something...
</local:GlassSkin>
它有效,contentGroup
接收我添加的每个元素。唯一的问题是没有添加自定义元素中指定的自定义图形元素。没有阴影,没有纯色,没有任何东西。为什么呢?
答案 0 :(得分:0)
我发现了。 使用自定义组件并将数据传递给它,删除mxml本身的每个格式。我不知道为什么。
而不是这个,我创建了一个简单的SkinnableContainer,并将我的自定义组件用作Skin。 (将该组重命名为SparkSkin)
有了这个,我没有自定义组件,但我有一个Skin,我可以在任何地方使用。