-1

我正在尝试通过使文本 htmlText 类似于以下内容在 Flex 4 的工具提示中插入图像和其他 html 内容:

http://blogger.com/190/easy-flex-tooltip-customization-using-html-tags

我的 HTMLToolTip 类:

package custom
{
    import mx.controls.ToolTip;

  public class HTMLToolTip extends ToolTip
  {
    public function HTMLToolTip()
    {
        super();
    }

    override protected function commitProperties():void{
        super.commitProperties();
        textField.htmlText = text;
    }
  }
}

在创建工具提示时,我将该类设置为 ToolTipManager 类

protected function helpToolTip_toolTipCreateHandler(event:ToolTipEvent):void
{   
        ToolTipManager.toolTipClass = HTMLToolTip;
        helpToolTip.tooltip = "<img src='ui_graphic/testimage.png' width='20' height='20'/> this is a <b>tool</b> tip";
}

但它似乎在 Flex 4 中不再起作用(也从网上的各种评论来看)。图像只是不显示。我尝试过的所有其他基本 HTML 标记都可以正常工作。有没有人让它在 Flex 4 上工作,或者我应该研究另一个(更复杂的)解决方案?

4

1 回答 1

0

创建工具提示类扩展 RichText:

package classes
{
    import mx.core.IToolTip;

    import spark.components.RichText;
    import spark.utils.TextFlowUtil;

    public class RichToolTip extends RichText implements IToolTip
    {
        public function RichToolTip()
        {
            super();

            mouseEnabled = false;
            mouseChildren = false;
            setStyle("backgroundColor", "0xeeeeee");
        }

        override public function set text(value:String):void 
        {
            textFlow = TextFlowUtil.importFromString(value);
        } 
    }
}

在应用程序中设置新的工具提示类:

ToolTipManager.toolTipClass = RichToolTip;

并在按钮上添加工具提示:

btn.toolTip = "<div><img source='assets/bender_saved.png' width='20' height='20' /><p>this is a test <span fontWeight='bold'>bold</span></p></div>";
于 2013-04-17T14:11:37.863 回答