2009-03-06 7 views
1

のAdobeのFlex 3では、私は画像とラベルを含むHBoxのを持っている:のFlex 3:トップアライン画像とラベル

<mx:HBox width="240" verticalAlign="top" horizontalGap="8"> 
    <mx:Image width="46" source="@Embed(source='/assets/blah.swf')"/> 
    <mx:Label text="Blah."/> 
</mx:HBox> 

私の目標は、画像との上端の上端を揃えることですラベル(ラベル内の大文字の先頭、つまり)。しかし、私がどのようなプロパティやスタイルを使っていても、6ピクセルの一定の「パディング」(パディングトップがゼロであるため引用符で囲んでいます)がラベルの上に残り、その上端をイメージの下に設定します。なぜ誰が知っていますか?

おかげで、サイモン

編集:

paddingTopはトリックをやっていません。

<mx:HBox width="240" verticalAlign="top" paddingTop="0"> 
    <mx:Canvas width="46" height="46" backgroundColor="red" paddingTop="0"/> 
    <mx:Label text="Blah." paddingTop="0"/> 
</mx:HBox> 

また、これらのクラスに干渉するグローバルスタイルシートがないことも確認しました。

編集2:ラベルによって内部的に使用されmx.core.UITextFieldソースコード(フレックス3.2.0)から

、LL。 159:

/* 
     The width and height of the TextField are 4 pixels greater than 
     the textWidth and textHeight. 
    */ 

とも

public function get measuredHeight():Number 
    { 
    (...) 
     return textHeight + TEXT_HEIGHT_PADDING; 
    (...) 
    } 

その後、私は-4に私のラベルのpaddingTopを設定して、ほら、問題解決!しかし、実際にはきれいなソリューションではありません...

答えて

2

私はちょうどこれを取り巻くばかりで、実際にpaddingTopを0に設定しなければならないようです。なぜなら、パディングを宣言しなければコンポーネントのビルトインパディングを使用するため、ゼロにはなりません。

これは、この例を実行したときに動作していたようです。

編集:汚れていますが、修正済みですか? ;)

関連する問題