2012-02-18 14 views
1

我在Flex中使用指定寬度的Spark水平組(s:HGroup)。
但是組外的所有標籤都被隱藏(在100像素之後)。如何在Flex中將元素換行到水平組中的新行?

<s:HGroup width="100"> 
    <s:Label text="Hello" /> 
    <s:Label text="Hi" />   
    <s:Label text="Hello" /> 
    <s:Label text="Hi" />   
    <s:Label text="Hello" /> 
    <s:Label text="Hi" />  
    <s:Label text="Hello" /> 
    <s:Label text="Hi" />   
    <s:Label text="Hello" /> 
    <s:Label text="Hi" />   
    <s:Label text="Hello" /> 
</s:HGroup> 

(這是一個例子,我將元素添加到HGroup在ActionScript中,不知道有多少)

所以我怎麼可能換一個HGroup裏面的元素,以新線時,有溢出?

+0

我想這正是你正在尋找的:http://www.adobe.com/devnet/flex/articles/spark_layouts.html如果你看看「創建一個自定義的Spark佈局」部分,它將FlowLayout作爲一個例子。 – 2012-12-11 09:38:43

回答

1

簡短的回答是你不能。 HGroup將元素水平放置。

我想你會想用一組一TileLayout

<s:Group width="100"> 
    <s:layout> 
     <s:TileLayout /> 
    </s:layout> 
    <s:Label text="Hello" /> 
    <s:Label text="Hi" />   
    <s:Label text="Hello" /> 
    <s:Label text="Hi" />   
    <s:Label text="Hello" /> 
    <s:Label text="Hi" />  
    <s:Label text="Hello" /> 
    <s:Label text="Hi" />   
    <s:Label text="Hello" /> 
    <s:Label text="Hi" />   
    <s:Label text="Hello" /> 
</s:Group> 

該瓦片佈局不工作,你必須創建自己的自定義佈局類。

+0

感謝您的回答。我已經試過了TileLayout,但是當標籤寬度可變時,它不會做我想要的。 – 2012-02-19 10:30:43

+0

然後你必須編寫你自己的佈局。 – JeffryHouser 2012-02-19 16:13:26

+1

不是TileLayout有一個variableRowHeight或variableColumnWidth屬性嗎?! – 2012-02-19 20:03:48

-1

我已經創建了一個解決方案,可能不是最好的解決方案,但它適用於我。

問題是我希望有人可以點擊標籤並執行一個功能。

現在我有這樣的:

<mx:Text id="box" width="100"></mx:Text> 

在ActionScript:

box.htmlText = box.htmlText + "<a href=\"event:hi\">Hi</a>"; 
box.htmlText = box.htmlText + "<a href=\"event:hello\">Hello</a>"; 
//etc (actually I've a for loop parsing some XML data) 

box.addEventListener(TextEvent.LINK, executeFunction); 

private function executeFunction(linkEvent:TextEvent):void { 
    Alert.show(linkEvent.text); // will show a alert box with 'hi' or 'hello' 
} 

的MX文本內的文本保持完美的100個像素內,在一個水平線上儘可能多的文本可能的。

+0

您的原始問題中沒有任何內容與點擊標籤有關。如果您爲Spark標籤添加了明確的高度,爲什麼不能使用此解決方案? – JeffryHouser 2012-02-19 21:07:25

+0

@ www.Flextras.com對不起,我忘了說:) – 2012-02-20 17:26:41