【发布时间】:2009-03-30 13:05:19
【问题描述】:
我正在 Datagrid itemRenderer(从 UIComponent 扩展)中创建标签,现在我正在将标签的宽度设置为某个静态值。我想创建 100% 宽度的标签。我不想使用 unScaledWidth,因为我使用链接作为标签,因此链接将在整个单元格中可见。
提前感谢您的帮助。
【问题讨论】:
标签: apache-flex label itemrenderer
我正在 Datagrid itemRenderer(从 UIComponent 扩展)中创建标签,现在我正在将标签的宽度设置为某个静态值。我想创建 100% 宽度的标签。我不想使用 unScaledWidth,因为我使用链接作为标签,因此链接将在整个单元格中可见。
提前感谢您的帮助。
【问题讨论】:
标签: apache-flex label itemrenderer
我在这里遗漏了什么还是你应该直接使用percentWidth?
【讨论】:
使用 percentWidth 将不起作用。如果 ItemRenderer 中只有 Label,请确保 Label 具有(如果是 mx 项目渲染器)autolayout="true"(这是默认设置)并将 top="0" left="0" right="0" bottom="0" 添加到 Label。这将使您的标签占据整个单元格。
如果您使用的是 Spark 项目渲染器,则默认布局 none 是绝对布局,只需将 top="0" left="0" right="0" bottom="0" 添加到 Label 就足够了。
另一方面,updateDisplayList() 和 measure() 是 Flex 中使用最频繁的两个覆盖。在尝试覆盖 updateDisplayList() 和 measure() 之前,请始终尝试使用 MXML 皮肤类解决您的问题。大多数 MX 类绘图方法的实现不正确,private 方法完成了大部分绘图,这使得扩展这些类变得困难。
【讨论】: