在flex 3中,如何使复选框标签的一部分为粗体?假设复选框标签是"记住数据网格上的值"。需要将文本"datagrid"单独加粗。有人能帮忙吗。提前谢谢。
这不是一个完美的解决方案,但它会让你开始。如果扩展CheckBox类,则可以覆盖updateDisplayList()
方法,并使用其htmlText
属性设置复选框的标签。
然后使用这个自定义复选框并传入一个带有HTML的标签。
此解决方案的问题:
- 超级类没有测量HTML格式的文本(您可以实现
measure()
Flex生命周期方法) - 在super.updateDisplayList()完成所有工作后,我们使用
htmlText
属性来撤消它
HTML文本复选框.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>";