我使用FlashBuilder定位移动设备,我使用TileLayout
查看数据项,我将useVirtualLayout
设置为“true”
我有一些问题:
TileLayout
如果原生TileLayout
速度很慢,是否可以使用其他控件?如果构建我自己的会更好,是否有任何构建自定义布局的示例?
答案 0 :(得分:1)
ItemRenderer
离开父viewport
控件的List
时发生。因此,如果您在页面上有一个列表,并且该页面正在控制滚动而不是列表,那么我认为不会发生虚拟化。这就是我过去看到的。不确定这是否真的有效,但这是我得到的印象。找出答案的简单方法是在DataChange
处理程序中抛出跟踪语句。如果它在初始化后跟踪,你知道虚拟化正在运行TileLayout
本身可能不是您遇到的问题,而是ItemRenderer
。
ItemRenderer
和LabelItemRenderer
之外的任何IconItemRenderer
课程。 DisplayObject
。相反,覆盖createChildren()
并在那里执行。覆盖layoutContents()
以进行定位和调整大小。覆盖drawBackground()
以处理背景。我强烈建议您阅读Flextras的这篇文章(你会看到他通过Reboog77在SO上)关于编写移动项目渲染器。 https://www.flextras.com/blog/index.cfm/2011/6/24/Building-a-Mobile-ItemRenderer-in-Flex Graphics
类直接绘制到对象中,请执行此操作,而不是使用Rect
或类似内容。 ContentCache
用于iconDisplay
中IconItemRenderer
以外的任何图片。 ContentCache将无需每次重新加载图像。(iconDisplay
/ icon
默认已经使用此功能)