2009-05-07 11 views
1

カスタムItemRendererを使用してトグルボタンとして表すHorizo​​ntalListコントロールがあります。このリストはドラッグ&ドロップが可能で、私はthis methodを使って、ドロップフィードバック(ライン)を水平ではなく垂直の位置に回転させましたが、ボタンが一緒にマッシュアップされるとドロップのフィードバックはかなり微妙です。私は何とかボタンを離しておきたいので、ドロップのフィードバックはもっと明らかです。フレックス:Horizo​​ntalListコントロール(カスタムItemRendererを使用)で項目を配置する方法

私はプロパティを調べましたが、何も目立ちません。パディングとマージンのプロパティがありますが、その記述はアイテムではなくリストコントロール自体に影響すると言います。

以下は私のItemRendererのコードです。私はそれに詰め物を追加しましたが、それは何も変わらないようです。パディングを追加すると、ボタンの内側とボタンの間のスペースには影響しません。また、ボタンコントロールには余白のプロパティがありません。

マージンを得るためにItemRendererをキャンバス上に置くことができますが、ボタンのすべての機能を継承しないとします。

<?xml version="1.0" encoding="utf-8"?> 
<mx:Button 
    xmlns:mx="http://www.adobe.com/2006/mxml" 
    creationComplete="go();" 
    toggle="true" 
> 
    <mx:Script> 
     <![CDATA[ 
      private var _val:int = -1; 
      private function go():void { 
       this.label = data.title; 
       _val = data.index; 
      } 

      override protected function clickHandler(event:MouseEvent):void{ 
       //todo: bubble an event that causes all other 
       //buttons in the list to un-toggle 

       //now do the default clickHandler 
       super.clickHandler(event); 
      } 
     ]]> 
    </mx:Script> 
</mx:Button> 
+1

itemRenderer自体にパディング/マージンを追加しようとしましたか? – Stiggler

答えて

1

Item rendererをコンテナ(CanvasまたはHBoxのいずれか)として作成し、Button要素を内部に配置する方法はありますか?

+1

コンテナをアイテムレンダラーとして使用することは、パフォーマンス上の理由から不適切な選択です。 – joshtynjala

+1

Listベースのコントロール用に作成されたitemRendererは少数しかなく、リサイクルされています。ここでコンテナを使用しても、パフォーマンスに大きな影響はありません。 –

1

必要な間隔を含むボタン用のカスタムスキンを作成します。テキストやアイコンがスキンの外に出ないように、パディングスタイルと組み合わせる必要があります。

0

これはちょっとハッキーなところですが、実際のHorizo​​ntalListオブジェクトのcolumnWidthを置くこともできます。実際のitemRendererの幅よりも大きな値に設定します。

関連する問題