-1

テキスト htmlText を次のようにして、Flex 4 のツールチップ内に画像やその他の html コンテンツを挿入しようとしています。

http://blogagic.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 に答える