Apache flex Flex中的按钮皮肤问题
我已经创建了一个名为HTMLBtnBlue.mxml的按钮外观,我使用HTMLBtnBlue.mxml的副本创建了另一个外观,并将其命名为HTMLBtnYellow,并将颜色更改为0xF8C313。 HTMLBtn.mxml的代码如下Apache flex Flex中的按钮皮肤问题,apache-flex,actionscript,flash-builder,mxml,Apache Flex,Actionscript,Flash Builder,Mxml,我已经创建了一个名为HTMLBtnBlue.mxml的按钮外观,我使用HTMLBtnBlue.mxml的副本创建了另一个外观,并将其命名为HTMLBtnYellow,并将颜色更改为0xF8C313。 HTMLBtn.mxml的代码如下 <?xml version="1.0" encoding="utf-8"?> <s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/fl
<?xml version="1.0" encoding="utf-8"?>
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo">
<fx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/halo";
.upStyle {
color: #FF0000;
}
.overStyle {
color: #009900;
}
.downStyle {
color: #00FF00;
}
.disabledStyle {
color: #666666;
}
</fx:Style>
<s:states>
<s:State name="up" />
<s:State name="over" />
<s:State name="down" />
<s:State name="disabled" />
</s:states>
<s:Label
id="labelDisplay"
styleName.up="upStyle"
styleName.over="overStyle"
styleName.down="downStyle"
styleName.disabled="disabledStyle"/>
<s:Rect width="100%" height="1" includeIn="over,up" bottom="0">
<s:fill>
<s:SolidColor color.over="#009900" color.up="#0000FF"/>
</s:fill>
</s:Rect>
</s:Skin>
@命名空间s“library://ns.adobe.com/flex/spark";
@名称空间mx“library://ns.adobe.com/flex/halo";
.时髦{
颜色:#FF0000;
}
.夸张{
颜色:#009900;
}
1.下行方式{
颜色:#00FF00;
}
.disabledStyle{
颜色:#666666;
}
按钮的代码如下所示
<s:Button label="Open Menu" id="bluebtn" skinClass="skins.HTMLBtn" />
<s:Button label="Close Menu" id="yellowbtn" skinClass="skins.YellowSkin" />
但它将HTMLBtn皮肤应用于打开菜单和关闭菜单按钮 在Flash Builder 4.6和AIR 3.4中使用上述示例:
<s:Button id="bluebtn" label="Open Menu" skinClass="skins.HTMLBtnBlue"/>
<s:Button id="yellowbtn" label="Close Menu" skinClass="skins.HTMLBtnYellow"/>
我对此没有问题
Skin Class "HTMLBtnYellow":
<?xml version="1.0" encoding="utf-8"?>
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo">
<fx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/halo";
.upStyle {
color: #FF0000;
}
.overStyle {
color: #009900;
}
.downStyle {
color: #00FF00;
}
.disabledStyle {
color: #666666;
}
</fx:Style>
<s:states>
<s:State name="up" />
<s:State name="over" />
<s:State name="down" />
<s:State name="disabled" />
</s:states>
<s:Rect width="100%" height="1" includeIn="over,up" bottom="0">
<s:fill>
<s:SolidColor color.over="#009900" color.up="#F8C313"/>
</s:fill>
</s:Rect>
<s:Label
id="labelDisplay"
styleName.up="upStyle"
styleName.over="overStyle"
styleName.down="downStyle"
styleName.disabled="disabledStyle"/>
Skin类“HTMLBtnYellow”:
@命名空间s“library://ns.adobe.com/flex/spark";
@名称空间mx“library://ns.adobe.com/flex/halo";
.时髦{
颜色:#FF0000;
}
.夸张{
颜色:#009900;
}
1.下行方式{
颜色:#00FF00;
}
.disabledStyle{
颜色:#666666;
}
皮肤类别“HTMLBtnBlue”:
@命名空间s“library://ns.adobe.com/flex/spark";
@名称空间mx“library://ns.adobe.com/flex/halo";
.时髦{
颜色:#FF0000;
}
.夸张{
颜色:#009900;
}
1.下行方式{
颜色:#00FF00;
}
.disabledStyle{
颜色:#666666;
}
我不明白:
YellowSkin
是HTMLBtn
的一个子类吗?这个黄色是如何应用的?当我使用标签属性颜色时,我的问题已经解决。up=“#F8C313”而不是使用styleName。up=“upStyle”请将您的答案作为答案发布,并将其标记为已解决,以便其他人可以从您的解决方案中学习。
<?xml version="1.0" encoding="utf-8"?>
<s:Skin xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/halo">
<fx:Style>
@namespace s "library://ns.adobe.com/flex/spark";
@namespace mx "library://ns.adobe.com/flex/halo";
.upStyle {
color: #FF0000;
}
.overStyle {
color: #009900;
}
.downStyle {
color: #00FF00;
}
.disabledStyle {
color: #666666;
}
</fx:Style>
<s:states>
<s:State name="up" />
<s:State name="over" />
<s:State name="down" />
<s:State name="disabled" />
</s:states>
<s:Label
id="labelDisplay"
styleName.up="upStyle"
styleName.over="overStyle"
styleName.down="downStyle"
styleName.disabled="disabledStyle"/>
<s:Rect width="100%" height="1" includeIn="over,up" bottom="0">
<s:fill>
<s:SolidColor color.over="#009900" color.up="#0000FF"/>
</s:fill>
</s:Rect>