【发布时间】:2011-09-18 19:13:30
【问题描述】:
例如,我创建了 2 个不同高度的水平列表:50 像素和 100 像素。 我想使用 1 个项目渲染器来显示两者。
项目渲染器必须创建方形项目,因此它必须为第一个列表生成 50x50 的项目,为第二个列表生成 100x100 的项目。
我应该如何设置项目渲染器以获得结果?
【问题讨论】:
标签: apache-flex
例如,我创建了 2 个不同高度的水平列表:50 像素和 100 像素。 我想使用 1 个项目渲染器来显示两者。
项目渲染器必须创建方形项目,因此它必须为第一个列表生成 50x50 的项目,为第二个列表生成 100x100 的项目。
我应该如何设置项目渲染器以获得结果?
【问题讨论】:
标签: apache-flex
父母总是有责任为孩子确定大小。在这种情况下,列表是父项,itemRenderer 是子项。你能做的最好的就是以测量宽度和测量高度的方式提供建议。
因此,您可以覆盖 itemRenderer 组件的 measure 方法,以根据某些标准设置值(50x50 或 100x100)。但是,那个标准是什么?我们不知道,因为您的问题中没有提供。在理想世界中,它不能是 List 的高度或宽度;因为 itemRenderer 应该对列表一无所知。
暂时忽略itemRenderer...
在 MX 列表中,您可以使用 rowHeight 属性。
在 Spark 列表中,您可以在列表的布局上设置 rowHeight 属性。
您可以在 List 类实例上使用typicalItem。
我认为这些方法比在 itemRenderer 中做某事更有可能给你想要的结果。
【讨论】: