1

Flex 4 では、Spark MXML アイテム レンダラーで状態を使用できますか?

のような「組み込み」状態が既にあるため、私はこれを求めています

<s:states> 
    <s:State name="normal"/> 
    <s:State name="hovered"/> 
</s:states> 

「ingame」や「inlobby」など、独自のカスタム状態を追加できますか?

MXML アイテム レンダラーの AS3 コードがそれらを使用しない/必要としない場合でも、「通常」と「ホバー」を書き出す必要がありますか?

4

1 に答える 1

3

Flex 4 では、Spark MXML アイテム レンダラーで状態を使用できますか?

はい!レンダラーは、他のコンポーネントと同様に単なるコンポーネントです。必要に応じて状態を追加できます。

Flex List がレンダラーの状態の設定をどのように処理するかはわかりません。そのため、レンダラーの状態が「カスタム」状態からいずれかの Flex 状態に変更される可能性があるようです。この種の変更を防ぐには、 currentState 変数をオーバーライドする必要がある場合があります。

MXML アイテム レンダラーの AS3 コードがそれらを使用しない/必要としない場合でも、「通常」と「ホバー」を書き出す必要がありますか?

いいえ、必要ない場合は追加しないでください。マウス操作 (ホバリングなど) が発生すると、ItemRendererはそのメソッドを呼び出しgetCurrentRendererState()て、レンダラーに設定する状態を決定します。そのメソッドには、次のような多くのステートメントがあります。

if (hovered && hasState("hovered"))
    return "hovered";

一致するものがない場合、レンダラーの状態は変更されません。

于 2013-07-03T18:13:02.150 に答える