当我生成皮肤文件时,我们假设s:Button,它们包含所有与设计相关的代码,如图形,标签等,但是当我创建一个BorderContainer的皮肤文件时,它创建时没有任何设计代码和事件contentGroup部分被评论,我不知道如何使用它。
你能指导我如何改善它的皮肤文件吗?
<?xml version="1.0" encoding="utf-8"?>
[HostComponent( “spark.components.BorderContainer”)]
<!-- states -->
<s:states>
<s:State name="disabled" />
<s:State name="normal" />
</s:states>
<!-- SkinParts
name=contentGroup, type=spark.components.Group, required=false
-->
答案 0 :(得分:1)
将皮肤元素添加到组件
中然后在底部添加这一行:
<s:Group id="contentGroup" left="0" top="0" right="0" bottom="0"/>
这将在皮肤上创建一个组。 在这样做之后,它应该充当传统的边境容器。
答案 1 :(得分:1)
这应该更好地解释一下......来自Abobe的文档.... “注意:因为你使用CSS样式和类属性来控制BorderContainer容器的外观,所以通常不会创建自定义外观如果你确实创建了一个自定义皮肤,你的皮肤类应该应用任何样式来控制容器的外观。“ http://help.adobe.com/en_US/flex/using/WS03d33b8076db57b9466e6a52123e854e5d5-8000.html
也...
我注意到你是否正在使用文件下的向导 - &gt;新的MXML皮肤你不会看到BorderContainerSkin可用。你正在做的是实际创建一个派生自BorderContainer(一个组件类,而不是皮肤类)的MXML类,因此它没有任何图形和绘图方法。好像你正在尝试创建错误类型的类。
与Flex 4中的大多数皮肤不同,BorderContainerSkin类实际上是一个Actionscript类。所以....几个选项......
1)您可以扩展BorderContainerSkin
goto:File - &gt; New - &gt; Actionscript Class - &gt;在SuperClass字段中键入BorderContainerSkin并在它出现时选择它,命名你的新皮肤类,你应该很高兴。
2)创建自己的
BorderContainerSkin扩展了Skin,因此您可以在BoderContainerSkin中引用代码并创建自己的actionscript类,使用自定义逻辑扩展Skin。
希望这个帮助