あなたがドロップダウンリストを再作成しているように聞こえるんが、その理由は、それがロードするのに時間がかかりすぎますアイテムレンダラーが作成されていないため、初めてのリストです。リストコントロールは、指定された時間にその中にフィットとしてだけ多くのアイテムレンダラーを作成します。高さ= 0で始めるので、アイテムレンダラーは作成されません。したがって、最初に高さを変更すると、すべてのアイテムレンダラーの作成と検証が強制されます。
これを修正するには、作成時にアイテムレンダラーを作成して更新してください。
リストを作成し、高さは200のままにしますが、可視性をfalseに設定します。誤った可視性があっても、リストは作成され、検証され、表示リストに保持されます。リストの表示と非表示のエフェクトを追加して、リストのshowEffectとhideEffectスタイルを追加し、ヘッダーをクリックするだけで表示を切り替えることができます。
ボタンを単なるラベル以外のドロップインアイテムレンダラーとして使用するだけです。
<mx:VBox verticalGap="0">
<mx:HBox click="list.visible = !list.visible">
<s:Label text="click me"/>
</mx:HBox>
<mx:List id="list" height="200" visible="false" labelField="label">
<mx:dataProvider>
<s:ArrayCollection>
<fx:Object label='Button 1' />
<fx:Object label='Button 2' />
<fx:Object label='Button 3' />
<fx:Object label='Button 4' />
<fx:Object label='Button 5' />
<fx:Object label='Button 6' />
</s:ArrayCollection>
</mx:dataProvider>
<mx:itemRenderer>
<fx:Component>
<mx:Button />
</fx:Component>
</mx:itemRenderer>
<mx:showEffect>
<s:Fade alphaFrom="0" alphaTo="1" duration="1500"/>
</mx:showEffect>
<mx:hideEffect>
<mx:Fade alphaFrom="1" alphaTo="0" duration="1500" />
</mx:hideEffect>
</mx:List>
</mx:VBox>
いくつかのコードを示す必要があります。なぜFlex 3を使用していますか?なぜ高さ= 0、高さ= 200ですか? visible = false、visible = trueで十分ではありませんか? –
DropDownListを再作成しようとしているようです。そうです。どうして?また、あなたのコードを見ずにここで助けてもらえません。 – JeffryHouser