我正在尝试制作自定义Flex工具提示la this tutorial。它基本上只是一堆显示颜色图例的标签。当工具提示从按钮事件toolTipCreate
:
<mx:Button label="ToolTip example" toolTip=" "
toolTipCreate="toolTipCreateHandler(event)" />
但是,我想在单击按钮时显示工具提示,而不是等待实际的工具提示延迟。 (从这个意义上说,我甚至不确定术语“工具提示”是否已经适用,但那是另一次)。我调用相同的处理程序,并将实例化的ToolTipEvent作为参数传递:
<mx:Button label="ToolTip example" toolTip=" "
click="toolTipCreateHandler(new ToolTipEvent(ToolTipEvent.CREATE, false, false, instanceOfMyCustomToolTip))" />
然而,这不起作用,它正在推动我试图弄清楚如何做到这一点。这似乎不是一件罕见的事情,但我在互联网上找到的每个例子都使用实际的工具提示延迟而不是按钮点击。任何帮助将不胜感激。
P.S。 - 我想把它作为一个专门的工具提示,所以我可以尝试获得一个小小的“气球尾巴”as shown here。
编辑:我也在按钮的点击事件中尝试ToolTipManager.createToolTip
,但这也不起作用。
<mx:Button id="ttt" label="Tooltip test"
click="ToolTipManager.createToolTip(' ',75,75,'errorTipBelow',instanceOfMyCustomToolTip)"/>
答案 0 :(得分:2)
经过大量研究,目前的形式是不可能的。以下是 的工作原理:
<mx:Button id="ttt" label="Tooltip test"
click="createTooltip()"/>
private function createTooltip():void {
ToolTipManager.toolTipClass = MyCustomToolTip;
ToolTipManager.createToolTip('any text here');
}
此时,ToolTipManager 应使用ToolTipManager.toolTipClass
中指定的类创建新的工具提示。但是,由于Adobe Flex SDK中尚未解决的错误,ToolTipManager.createToolTip
忽略此类并始终使用默认类ToolTip
。
所以没有一个猴子补丁可以让它正常工作。找到有关此错误(及相应补丁)in this blog post的信息。这篇文章谈到了Flex 3,但是从Flex 4.5.1开始,这个bug仍然没有得到解决。