1

UIComponent私のアプリケーションでは、ステージ上で一定量のアルファが設定されたすべての障害者を表示したいと思います。

デフォルト値は.5だと思います。これにより、一部のフィールドが非常に読みにくくなります。.3に減らすと、問題が解決するはずです。

  • コンポーネントについてSparkは、カスタムスキンを作成して編集できることを知っていますalpha.disabled。しかし、アルファスタイルのプロパティのためだけに、30以上のコンポーネントに対してこれを実行したくありません。

  • 設定disabledOverlayAlphaはコンテナでのみ機能します。実際には、表示階層の最下位レベルのコンポーネントで機能するものが必要です。私が間違っていない場合、これはmxコンポーネントでのみ使用できます。

UIComponentsそれらを無効にしたときにすべてが同じ量のアルファを表示するようにするための実用的な方法は何でしょうか?

乾杯

4

1 に答える 1

1

最も美しい解決策ではありませんが、私が思いつくことができるのは、 UIComponentに求められることを実行する唯一の方法です。

  • ステージで Event.ADDED をリッスンして、displayList に追加されたすべてのコンポーネントをキャッチします。
  • targetイベント(追加されたばかりのコンポーネント) で「enabledChanged」のリッスンを開始します。「enabledChanged」は、enabledプロパティが変更されたときに UIComponent によって送出されます。
  • alphaこのイベントを発生させるコンポーネントの を設定します。
  • また、コンポーネントがステージから削除されたときに、これらのイベント リスナーをクリーンアップすることを忘れないでください。そうしないと、深刻なパフォーマンスの問題が発生します。
  • Spark コンポーネントの場合、スキンのデフォルトの無効なアルファ値を何らかの方法でオーバーライドする必要があるでしょう。これには、スキンの StateChangeEvent.CURRENT_STATE_CHANGE をリッスンする必要がある場合があります。

うん!もっと簡単なオプションを見落としていることを願っています。それ以外の場合は、すべての Spark スキンを作成し、将来的にグローバルに設定できるように、無効化されたアルファ値のスタイルを追加します。

于 2013-01-31T17:46:23.063 に答える