在 flex 3 中,如何使部分复选框标签为粗体?说复选框标签是“记住数据网格上的值”。需要将文本“datagrid”单独加粗。任何人都可以请帮忙。提前致谢。
问问题
489 次
1 回答
0
这不是完美的解决方案,但可以帮助您入门。如果您扩展 CheckBox 类,您可以覆盖该方法,并使用它的属性updateDisplayList()
设置复选框的标签。htmlText
然后使用这个自定义复选框并传入一个带有 HTML 的标签。
此解决方案的问题:
- 超类没有测量 HTML 格式的文本(你可以实现
measure()
Flex 生命周期方法) - 在 super.updateDisplayList() 完成所有工作之后,我们使用
htmlText
属性将其撤消
HTMLTextCheckBox.as:
package
{
import mx.controls.CheckBox;
public class HtmlTextCheckBox extends CheckBox
{
public function HtmlTextCheckBox()
{
super();
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
textField.htmlText = label;
}
}
}
使用它 MXML:
<local:HtmlTextCheckBox label="this is the <b>bold part</b>"/>
或者在 AS3 中:
var cb:HtmlTextCheckBox = new HtmlTextCheckBox();
cb.text = "this is the <b>bold part</b>";
于 2012-09-03T16:06:07.370 回答