我正在尝试使用我可以作为参数传递的背景填充颜色创建一个Panel skin(Spark)。 (见粗体:)
<?xml version="1.0" encoding="utf-8"?>
<s:SparkSkin name="CustomPanelSkin"
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:fb="http://ns.adobe.com/flashbuilder/2009"
blendMode="normal">
<s:states>
<s:State name="normal" />
<s:State name="disabled" />
<s:State name="normalWithControlBar" stateGroups="withControls" />
<s:State name="disabledWithControlBar" stateGroups="withControls" />
</s:states>
<fx:Metadata>
[HostComponent("spark.components.Panel")]
</fx:Metadata>
<s:Group left="0" right="0" top="0" bottom="0">
<s:Rect left="0" right="0" top="0" bottom="0" radiusX="12" radiusY="12">
<s:fill>
<s:SolidColor color="#184c81" />
</s:fill>
</s:Rect>
<s:Group id="contents" left="1" right="1" top="1" bottom="1">
<s:layout>
<s:VerticalLayout gap="0" horizontalAlign="justify" />
</s:layout>
<s:Group id="contentGroup" width="100%" height="100%" minWidth="0" minHeight="0">
</s:Group>
</s:Group>
</s:Group>
</s:SparkSkin>
根据我的阅读,我应该创建一个子类,但这个主题没有太多的材料。 我后来想在我的应用程序中使用的许多Panel控件中使用这个皮肤。
答案 0 :(得分:0)
基本面板外观使用css样式实现背景颜色。您可以使用操作脚本进行设置:
panel.setStyle("backgroundColor", 0x184c81);
当您在主机组件中引用皮肤组件时,也可以控制皮肤组件。
阅读Implementing the partAdded() and partRemoved() methods for skinnable components for Spark components
答案 1 :(得分:0)
这很简单。创建一个面板外观并将其命名为“panelSkin.mxml”。在.as文件中使用以下语句
newPanelBlock.setStyle("skinClass",com.foldername.panelSkin);
newPanelBlock.setStyle(“backgroundColor”,0x184c81);