私が取り組んでいるフレックス プロジェクトのコンボボックスで使用しているカスタム アイテム レンダラーを実装しました。各項目のアイコンとテキストが表示されます。唯一の問題は、テキストが長い場合、メニューの幅が適切に調整されず、表示時にテキストが切り捨てられることです。この問題を軽減するために、すべての明らかなプロパティを調整しようとしましたが、成功しませんでした。コンボボックスのメニュー幅を、レンダリングしているデータに合わせて適切にスケーリングする方法を知っている人はいますか?
私のカスタムアイテムレンダラーの実装は次のとおりです。
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml"
styleName="plain" horizontalScrollPolicy="off">
<mx:Image source="{data.icon}" />
<mx:Label text="{data.label}" fontSize="11" fontWeight="bold" truncateToFit="false"/>
</mx:HBox>
そして、私のコンボボックスは次のように使用します:
<mx:ComboBox id="quicklinksMenu" change="quicklinkHandler(quicklinksMenu.selectedItem.data);" click="event.stopImmediatePropagation();" itemRenderer="renderers.QuickLinkItemRenderer" width="100%"/>
編集:明確にする必要があります:コンボボックスのdropdownWidthプロパティを任意の大きな値に設定できます-これによりすべてが収まりますが、幅が広すぎます。このコンボボックスに表示されるデータは一般的なものなので、データプロバイダーの最大の要素に合わせて自動的にサイズを変更したいと考えています (フレックスのドキュメントではこれを行うと書かれていますが、カスタム アイテム レンダラーが何らかの形でその動作を壊していると感じています)。