flex ダッシュボードのレプリカである flex で 1 つのダッシュボード アプリケーションを開発しています。ここには、異なるコンテンツを表示している複数のパネルがあります。私が望むのは、ユーザーが特定のパネルをクリックするたびに、たとえば「年間収益」と言うと、その特定のパネルを強調表示したいだけです。
したがって、基本的に、初期状態のすべてのパネルは「非アクティブ」状態になりますが、ユーザーがクリックするとすぐにアクティブになり、「xyz」パネルで作業していて残りが入ることをユーザーに知らせるためのより良いエクスペリエンスをユーザーに提供します非アクティブ状態。
したがって、「アクティブ」および「非アクティブ」状態とは、HTML ページでハイパーリンクにカーソルを合わせると「青」になる (たとえば) ため、それ以外の場合はアクティブおよび非アクティブと呼びます。
さて、パネルの話。
パネルには、そのレイアウトを定義するスキンがあります。私の要件を満たすために、私が試したのはパネルに「css」を適用することです。今、私はこの方法でcssを適用しました
public class Pod extends Panel
{
...properties
public function init():void
{
setStyle('styleName',"panelOff");
}
}
さて、このクラス自体で、パネルの「クリック」を処理しています。クリックイベントで私が基本的にやっていることは、
setStyle('styleName',"panelOn");
パネルにはスキンが適用されているため、スキンに含まれるコンポーネントのプロパティを変更する必要があります。そのため、スキンの css プロパティにアクセスできる必要があります。
スキンファイルで私はこのようなことをしています
override protected function updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void
{
setStyle('border-alpha', hostComponent.getStyle('border-alpha'));
}
だから私の質問は、私の要件を満たす正しい方法ですか?
スキン クラスのホスト コンポーネントの css プロパティにアクセスするにはどうすればよいですか?
ここで main.mxml にスタイル ファイルを定義しました。スタイル ファイルに「panelOn」という名前のスタイル クラスが含まれている場合、そのクラスをパネルに指定すると、そのクラスに関連付けられたスタイルにアクセスできるようになりますか?
パネルの setStyle メソッドを使用してすべての css プロパティを配置するようにアドバイスしないでください。css ファイルを使用する利点がなく、css スタイリングが悪いためです。
他のより良い解決策がある場合は、意見を共有してください。私がはっきりしていることを願っています。あらゆる種類の助けをいただければ幸いです。