由于长期使用Flex3做开发,熟悉了Flex3的组件以及各个属性。用到Flex4的时候,很多本以为理所当然缺就是不对了。以下是最简单的组件Label的区别
spark.components.Label
Label 是可以呈示一行或多行统一格式文本的低级 UIComponent。要显示的文本由从 TextBase 继承的 text 属性确定。文本格式由元素的 CSS 样式指定,例如 fontFamily 和 fontSize。
Spark 体系结构提供三个文本“原型”(Label、RichText 和 RichEditableText)作为其“仅在用户需要时支付”基本原理的一部分。Label 运行速度最快且占用内存最少,但其功能有限:无复杂格式、不可滚动、不可选择、不可编辑且无超链接。RichText 和 RichEditableText 基于 Text Layout Framework (TLF) 库,而不是 FTE。RichText 新增了使用复杂格式程示 HTML 等富文本的功能,但仍然完全是非交互式的。您应该使用能够满足需求的最快速的文本原型。
与 MX Label 相比,Spark Label 可提供更佳的印刷效果,且能更好地支持各国语言。
Spark Label 可以显示多行,但 MX Label 不可以。
MX Label 可以显示 HTML 的有限子集,但 Spark Label 只能显示统一格式的文本。
我记得在Flex3中label的text超出宽高的时候就会自动出现“...” 并且ToolTip的方式显示出余下的内容
而S:Label却不再这样了
S:Label的默认是自动换行的:这点和MX:Label我感觉是相当大的区别
默认情况下,Label 没有背景,但是可以使用 backgroundColor 和 backgroundAlpha 样式绘制一个背景。不支持边框。如果需要边框或更复杂的背景,请在 Label 后面使用单独的图形元素,例如 Rect。
想不自动换行需要参考这个熟悉lineBreak="explicit"
想超出宽高,显示为“...” 请参照maxDisplayedLines
maxDisplayedLines熟悉的出现感觉真是强大了很多,不知道你有这样的感觉没