actionscript 3和自定义图像项呈示器

时间:2009-06-25 10:28:18

标签: flex actionscript-3

我有一个自定义项呈示器,它根据数据对象的数据值在行中显示不同的gif。当我使用绝对路径设置图像源URL并且没有嵌入时,它可以正常工作,但是当我嵌入图像时,我发现当我向上和向下滚动网格时,图像会混乱,有时会相互叠加。

有没有人对为什么在我的hbox项目渲染器中嵌入图像造成如此麻烦有任何想法;

public var equipment:Image;
public var compr_icons:Bitmap = new AssetManager.COMPUTER_ICON;

.. do some logic
equipment.addChild(compr_icons);

1 个答案:

答案 0 :(得分:0)

在项呈示器中,尝试覆盖data setter(当您浏览恰好使用的数据绑定控件时,SDK会针对dataProvider中的每个项隐式调用它),并设置图像的source属性就像那样:

<mx:List dataProvider="{yourDataSource}">
    <mx:itemRenderer>
        <mx:Component>
            <mx:HBox>

                <mx:Script>
                    <![CDATA[

                        override public function set data(value:Object):void
                        {
                            super.data = value;

                            // Set your values here (value contains your data item)
                            myImage.source = value.yourImageSourceInstance;
                            myLabel.text = value.yourLabelText;
                        }

                    ]]>
                </mx:Script>

                <mx:Image id="myImage" />
                <mx:Label id="myLabel" />

            </mx:HBox>
        </mx:Component>
    </mx:itemRenderer>
</mx:List>

......看看是否有帮助。 Flex可能正在尝试重用渲染器的可视元素,而不是意识到您的意图是在数据更改时将它们交换出来。通过采取行动(当数据项设置时),您可以更明确地控制渲染器的可视元素发生的事情。

希望有所帮助!