测量列表上的自定义项目渲染器
我正在编写一个Adobe Air客户端来提供类似于Twitter的服务。
在时间轴上(List组件)我有一个自定义的项目渲染器,它基本上是一个具有固定宽度图像和文本控件的Canvas,它是多行的。
如果文本足够长以更改Canvas高度,则只会手动更改窗口宽度,强制重新绘制所有渲染器,才会调整其大小。 如果我简单地滚动浏览列表,所有“新”渲染器都将具有可能的最小高度(这是图像高度)。
当我设置数据时如何强制渲染器的重新测量的任何想法?
提前致谢! :)
尝试调用itemrender上的invalidateSize()和/或列表上的invalidateDisplayList()
我正在为类似的失效/调整大小问题而苦苦挣扎。 本视频为我构建自定义组件提供了一些信息。 希望能帮助到你。
这里有一个adobe工程师的视频的链接,讲述了如何在Action脚本中为Flex创建组件。
http://tv.adobe.com/watch/max-2008-develop/creating-new-components-in-flex-3-by-deepa-subramaniam/
你有没有尝试为列表设置variableRowHeight=true
?
上一篇: measuring custom item renderer on a List
下一篇: Flex custom item renderer for the displayed item in the combobox