Apache flex 是否有办法在目标左侧显示错误提示(错误工具提示)?
我正在创建一个errorTip,当用户将鼠标移到图像上时,它会显示出来。我希望弹出窗口出现在图像的左侧,但我可以传递来创建工具提示的唯一属性是“errorTipRight”、“ErrorTipBove”和“errorTipBelow” 有什么想法吗 示例代码:Apache flex 是否有办法在目标左侧显示错误提示(错误工具提示)?,apache-flex,tooltip,Apache Flex,Tooltip,我正在创建一个errorTip,当用户将鼠标移到图像上时,它会显示出来。我希望弹出窗口出现在图像的左侧,但我可以传递来创建工具提示的唯一属性是“errorTipRight”、“ErrorTipBove”和“errorTipBelow” 有什么想法吗 示例代码: <?xml version="1.0" encoding="utf-8"?> <mx:HBox xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="li
<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import mx.controls.ToolTip;
import mx.managers.ToolTipManager;
[Embed(source="assets/some_image.png")]
[Bindable]
private var myIcon:Class;
private var myToolTip:ToolTip;
private function showToolTip(evt:MouseEvent, text:String):void
{
var pt:Point = new Point(evt.currentTarget.x, evt.currentTarget.y);
pt = evt.currentTarget.parent.contentToGlobal(pt);
// I WANT TO POP THE ERRORTIP UP TO THE LEFT HERE INSTEAD OF ABOVE.
myToolTip = ToolTipManager.createToolTip(text, pt.x, pt.y, "errorTipAbove") as ToolTip;
var yOffset:int = myToolTip.height + 5;
myToolTip.y -= yOffset;
}
// Remove the tooltip
private function killToolTip():void
{
ToolTipManager.destroyToolTip(myToolTip);
}
]]>
</fx:Script>
<mx:Image source="{myIcon}" mouseOver="showToolTip(event, 'My ToolTip Message Goes Here')" mouseOut="killToolTip()" />
</mx:HBox>
当您向ToolTimManager提供坐标时,为什么不能从pt.x中减去工具提示的宽度
myToolTip = ToolTipManager.createToolTip(text, (pt.x - somewidth), pt.y, "errorTipAbove") as ToolTip;
您需要为ToolTipBorder类创建替换项,并将其指定为工具提示的外观。为此,我将复制ToolTipBorder源代码并修改updateDisplayList和borderMetrics方法,以便在这些方法中的switch语句中包含新的“errorTipLeft”样式。然后将该皮肤类指定给CSS中的工具提示类。希望有帮助。工具提示的位置不是问题所在。问题在于绘制工具提示的箭头部分的位置。如果选择“errorTipAbove”,它会在工具提示的底部绘制箭头,使其指向触发工具提示的源代码管理。我想把箭头画在工具提示的右边,指向我的图像。我会给它一个镜头,让你知道它是怎么回事。谢谢韦德!