2012-05-02 6 views
2

リストの最後にある動的なドロップダウンメニューからオーバーフローしたリンクを引き続き使用できるように、リンクの水平リストを作成するにはどうすればよいですか?オーバーフローしたリンクをメニューリストの最後のダイナミックドロップダウンメニューに統合

すべてのリンクが表示されるのに十分な水平スペースがあるように、リンク(またはボタン)のリストを作成したいと考えています。十分な水平スペースがない場合、オーバーフローしたリンクがリンクリストの最後のドロップダウンメニューに表示されます。 Flex SDK 4.5.1を使用しています。

この望ましい動作を以下に示します。

enter image description here

、マルチパートのカスタムコンポーネントの作成を試してカスタムレイアウトを使用して、インターネット上のかなり広範囲が、成功していない研究の後、私は可能な解決策への近くに来ていません。

どのように私はオーバーフローリンクがメインリスト

答えて

2

多くの研究、読書、および多くのプロトタイプの後、私はこの特定のシナリオで十分に機能するソリューションを開発しました。しかし、コンポーネントとスキンの間の結合は、私が気に入っていたよりも少し高いです。

スパークBorderContainerに基づいてカスタムコンポーネントを作成しました。コンポーネントレイアウトはおおよそである:

-- BorderContainer 
    -- Scroller 
    -- Group 
     -- DataGroup 
     -- Button 
     -- PopUpAnchor 
     -- Group 
     -- Rect 
     -- DataGroup 

最初DataGroup項目の一次リストを含みます。これらは水平に表示されます。カスタムコンポーネントのupdateDisplayListをオーバーライドすると、DataGroupの各アイテムを測定し、使用可能な領域に収まるかどうかを判断できます。適合しないものは見えなくなり(削除されない)、表示されないリストに追加されます。

表示しないリストの項目は、2番目のDataGroupに追加されます。これはドロップダウンリストです。このDataGroupPopUpAnchorに書き込むことで、ドロップダウンメニューを追加することができます。 Buttonは、第2のDataGroupをポップアップして閉じるために使用されます。

関連する問題