现在, 您将编写另一个 itemRenderer, 这次使用 ActionScript 类。在上一篇文章中, 有一个 TileList 包含这个内联 itemRenderer:
您将把它转变为一个 ActionScript 外部 itemRenderer。您需要执行以下步骤:
新建一个 ActionScript 类。将它命名为 BookTileRenderer.as 并使它扩展 HBox, 就像内联 itemRenderer 那样。
创建成员变量, 用于存放子组件的引用。
private var coverImage:Image;
private var titleText:Text;
private var spacer1:Spacer;
private var authorLabel:Label;
private var pubdateLabel:Label;
private var spacer2:Spacer;
private var buyButton:Button;
覆盖 createChildren() 函数以创建子组件, 并将它们添加到 HBox。
我准备通过这一代码显示父子关系。同时, 确保在 Buy 按钮中包含一个事件侦听器。
覆盖 commitProperties() 函数, 并从数据设置用户界面控制。
为 Buy 按钮添加单击事件处理函数。
将主应用程序中的 TileList 修改为使用 itemRenderer ActionScript 类。只需删除 inlineItemRenderer 并将它替换为标记中的 itemRenderer 属性。
如果要使用一个现有容器类, 如 HBox, 我不会使用 ActionScript 这样做。您会发现它比使用 MXML 文件复杂, 并且老实说, 性能方面几乎没有任何优势