2011-05-14 72 views
0

我有一個名爲authors的ArrayCollection,其中包含大量不同大小的文本。我想以一種方式列出關於作者的所有信息,每個項目的大小根據文本。這裏是代碼:帶有不同大小文本的Flex列表

<mx:List dataProvider="{authors}"> 
    <mx:itemRenderer> 
     <mx:Component> 
      <mx:VBox width="100%"> 
       <mx:Text text="{data.name}"/> 
       <mx:Text text="{data.about}" width="100%"/> 
      </mx:VBox> 
     </mx:Component> 
    </mx:itemRenderer> 
</mx:List> 

我已經嘗試了許多不同的東西,但沒有任何幫助。有任何想法嗎? Thx

回答

2

嘗試是這樣的:

<mx:List dataProvider="{authors}" height="300" variableRowHeight="true" width="200"> 
    <mx:itemRenderer> 
     <mx:Component> 
      <mx:VBox paddingLeft="0" paddingRight="0"> 
       <mx:Text text="{data.name}" /> 
       <mx:Text text="{data.about}" width="{explicitWidth}" /> 
      </mx:VBox> 
     </mx:Component> 
    </mx:itemRenderer> 
</mx:List> 
+0

感謝variableRowHeight是問題,寬度=「{explicitWidth}」也是有幫助的。 – ChRapO 2011-05-14 18:38:27

+0

不客氣:) – Constantiner 2011-05-14 18:42:08

0

您是否嘗試過使用fontSize屬性?

<mx:List dataProvider="{authors}"> 
    <mx:itemRenderer> 
     <mx:Component> 
      <mx:VBox width="100%"> 
       <mx:Text text="{data.name}" fontSize='30'/> 
       <mx:Text text="{data.about}" width="100%"/> 
      </mx:VBox> 
     </mx:Component> 
    </mx:itemRenderer> 
</mx:List> 

另外,使用htmlText屬性將讓你用HTML文本格式:http://livedocs.adobe.com/flex/3/html/help.html?content=textcontrols_04.html

+0

「名稱」字段是好的,我的問題是「約」字段有許多文本行,有時候有1個,有時候是7個等,我需要根據文本的高度來設置項目的高度。 – ChRapO 2011-05-14 17:33:21

+0

您是否嘗試過height ='100%'? – garnertb 2011-05-14 17:38:04

+0

也autoSize = True,請參閱http://www.actionscript.org/forums/showthread.php3?t=60414 – garnertb 2011-05-14 17:39:44