【问题标题】:In Flex, What is the difference between a skin and an itemRenderer?在 Flex 中,皮肤和 itemRenderer 有什么区别?
【发布时间】:2009-11-10 22:45:27
【问题描述】:

确实,它们(皮肤和 itemRenderers)似乎都使用 flash.graphics.* 包进行绘图。我之前在皮肤和 itemRenderers 之间复制了粘贴代码,所以我真的不明白其中的区别。与皮肤相比,我在实现 itemRenderers 方面有更多的经验,所以这可能是问题的一部分。谢谢,告诉我。

【问题讨论】:

    标签: apache-flex actionscript-3 skinning itemrenderer


    【解决方案1】:

    皮肤是可以应用于各种 UIComponents 的图形元素。容器可以有borderSkins,而Buttons可以有不同的up/over/down 皮肤。它们可以通过多种方式实现,包括使用绘图 API(“程序皮肤”)或通过嵌入资产(“图形皮肤”)。皮肤通常非常轻量级,可能只是 Flash DisplayObject 而不是 Flex UIComponent,后者更重量级但包含更多功能。

    itemRenderer 通常是基于列表的控件用来显示项目的 UIComponent。在使用 DataGrid/DataGridColumn 时,您通常还使用 itemRenderers。大多数使用 itemRenderer 的组件会回收它们,这意味着它们创建的数量与在屏幕上显示所需的数量一样多,并且当用户滚动数据时,相同的 itemRenderer 会重新定位并将新数据插入其中。这就是 Lists 和 DataGrid 可以支持大量数据的原因之一,也是为什么尝试使用 Repeater 完成类似的事情会导致应用程序性能不佳的原因之一。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-27
      • 1970-01-01
      • 2011-06-05
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 1970-01-01
      相关资源
      最近更新 更多