2010-11-29 121 views
0

如何在帶有itemrenderer的火花列表中進行wordwrap?這個帖子在http://blog.flexexamples.com/2009/10/27/setting-word-wrapping-on-a-spark-list-control-in-flex-4/工作100%,但是當我嘗試設置一個單獨的項目渲染器,我無法得到這個詞包裝...相反,我得到一個醜陋的水平滾動條。這裏是我的MXML:火花列表項目渲染器

<?xml version="1.0" encoding="utf-8"?> 
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" width="100%"  
height="100%" 
      xmlns:mx="library://ns.adobe.com/flex/mx"> 

<s:List id="lst" 
     useVirtualLayout="false" 
     width="200" 
     horizontalCenter="0" verticalCenter="0" 
     itemRenderer="testRenderer" 
     > 

    <s:dataProvider> 
     <s:ArrayList> 
      <fx:Object /> 
     </s:ArrayList> 
    </s:dataProvider> 
</s:List> 

</s:Application> 

這裏是我的testRenderer ------------>

<?xml version="1.0" encoding="utf-8"?> 
<s:ItemRenderer name="testRenderer" 
      xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/mx" 
      autoDrawBackground="true" 
      creationComplete="makeLabel(event);"> 
<s:states> 
    <s:State name="normal" /> 
    <s:State name="hovered" /> 
    <s:State name="selected" /> 
</s:states> 

<s:layout> 
    <s:VerticalLayout gap="0" horizontalAlign="justify" /> 
</s:layout> 


<fx:Script> 
    <![CDATA[ 

     protected function makeLabel(evt:Event):void { 

     test.text = "this is just a really long line of text that I want to wrap and just look normal"; 

     } 
    ]]> 
</fx:Script> 
<s:HGroup> 

    <s:Label id="test" color="black" /> 
</s:HGroup> 

</s:ItemRenderer> 

回答

2

試着給你的標籤(ID = 「測試」)的寬度