- 2008年4月 8日 18:50
- しらべる
いろんな角度から、このオブジェクトの要素を抽出して、適用できそうなFlex技術を検討した。
●レイアウト
・HorizontalList
・HBox
●繰り返し
・HorizontalList
・Repeater
●タブ形状
・TabBar
・アイテムレンダラー
●編集モード
・アイテムエディター
●データ連動性
・データプロバイダ
こんなところ。
次にトライした結果
TabBar
・レイアウト ◎:文字長によって個別幅自動調整
・繰り返し ◎:コンポーネントによる自動処理
・タブ形状 ×:カスタムコントロール不可
・編集モード ×:カスタムコントロール不可
・データ連動性 ◎:データプロバイダーを使用可能
HorizontalList
・レイアウト ×:データの追加に対して、リスト全体の幅を自分で変更する必要がある
文字長によって個別に幅を変えられない
・繰り返し ◎:コンポーネントによる自動処理
・タブ形状 ◎:アイテムレンダラー使用可能
・編集モード △:アイテムエディタがないのでレンダラ内で独自実装
・データ連動性 ◎:データプロバイダーを使用可能
HBox + Repeater
・レイアウト ◎:データの追加で自動レイアウト変更
・繰り返し ◎:Repeaterによる自動処理
・タブ形状 ○:Repeater内に1回記述するだけでOK
・編集モード △:子要素内で独自実装
・データ連動性 ×:データプロバイダーを使用可能だが、データの変更時に全ての子要素が再描画され、重い
ということで、めぼしいコンポーネントで全て×が付いたので、
HBox + 独自実装になりましたとさ。
こういう場合、どういうソリューションが一番スマートなのかな?
HorizontalListの拡張だろうか。。。
