2011-12-28 13 views
1

フレックス4のアラートボックスをスキンにするにはどうすればよいですか? CSSを使用してアラートボックスをカスタマイズすることに興味はありません。どのようにスキンを作成しますか?例えばフレックスのアラートボックスのスキン4

は、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の場合はどうすればよいですか?私は警告のためのホストコンポーネントが何であるか理解できません。

答えて

1

mx.controls.AlertコントロールはMXコンポーネントです。そのため、Sparkコンポーネントが使用するのと同じスキニングアーキテクチャを使用しません。これはあなたの使用例です。率直に言えば、アドビはまだそれを「皮張り」(参照:Skinning MX Components)と呼んでいますが、それは非常にスパークプロセスに似ていないようです。

私は包括的な答えを提供していると主張していません(これが私がコミュニティでウィキングしている理由です)。しかし、私が知る限り、あなたはスタイルを使用することはありません。

アラートがmx.containers.Panelクラスから派生していることは、おそらく知っておく必要がある他の関連情報です。したがって、あなたがパネルを「スキン」することができる範囲であれば、最終的に警告を「スキン」できる程度です。

+0

とにかく、カスタムコンポーネントのアラートを作成しました。 – randomUser56789

2

MXアラートコンポーネントは、いわば単一のコントロールではありません。これは、基本的に、パネル、ラベル、およびボタンコンポーネントの組み合わせです。これを試してみましょう。標準的なMX Panelコンポーネントのスキン/スタイルをアプリケーションにグローバルに適用します。アラートコンポーネントを呼び出そうとすると、適用したスタイルの形を取るようになります。 Flex 4パネルをスキンして、同じ効果を得るためのカスタムポップアップコンポーネントにすることができます。

関連する問題