如何在flex 4中设置皮肤警报框? 我对通过css自定义警报框不感兴趣,我该如何创建皮肤?
例如,对于TextInput
我会写css:
s|TextInput
{
skinClass: ClassReference("skins.TextInputSkin");
}
和TextInputSkin.mxml
<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"
alpha.disabledStates="0.5" blendMode="normal">
<fx:Metadata>
<![CDATA[
/**
* @copy spark.skins.spark.ApplicationSkin#hostComponent
*/
[HostComponent("spark.components.TextInput")]
...etc..
全局更改TextInput
如何为Alert
制作类似的内容?我无法理解警报的主机组件是什么。
答案 0 :(得分:2)
可以说MX Alert组件不是单一控件。它基本上是面板,标签和按钮组件的组合。试试这个,Skin / Style一个标准的MX Panel组件并将其全局应用到你的应用程序中。你会注意到当你尝试调用alert组件时,它也会受到影响,因为它会采用你刚应用的样式。您可以对Flex 4面板进行Skin,然后将其设置为自定义弹出组件以实现相同的效果。
答案 1 :(得分:1)
mx.controls.Alert控件是一个MX组件,因此不使用Spark组件使用的相同外观架构,这是您的示例所使用的。坦率地说,尽管Adobe仍然将其称为“皮肤化”(参见,Skinning MX Components),但它似乎并不像Spark过程那样。
我并没有声称提供全面的答案(这就是为什么我在社区维护这个),但据我所知,你不会四处寻找使用风格。
您可能需要知道的其他相关信息是警报来自mx.containers.Panel类。因此,无论您在何种程度上“专注”专家小组,您最终都能够“通过”“保护”警报。