火花单项目渲染器

时间:2010-11-29 03:21:01

标签: flex

如何使用itemrenderer在spark列表中进行自动换行?在http://blog.flexexamples.com/2009/10/27/setting-word-wrapping-on-a-spark-list-control-in-flex-4/发布的这个帖子100%有效,但是当我尝试设置一个单独的项目渲染器时,我无法得到自动换行...相反,我得到一个丑陋的水平滚动条。 HEre是我的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 ------------&gt;

<?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>

1 个答案:

答案 0 :(得分:2)

尝试给你的Label(id =“test”)一个宽度