Flex Custom Tooltip

<?xml version="1.0" encoding="utf-8"?>
<mx:Application horizontalAlign="center" 
verticalAlign="middle" 
xmlns:mx="http://www.adobe.com/2006/mxml" 
layout="horizontal" horizontalGap="15" 
viewSourceURL="srcview/index.html">

<mx:Script>
<![CDATA[
import mx.controls.Text;
import mx.managers.ToolTipManager;
import mx.controls.ToolTip;

private var myToolTip:ToolTip;

private function showToolTipRight(evt:MouseEvent, text:String):void
{
var pt:Point = new Point(evt.currentTarget.x, evt.currentTarget.y);

// Convert the targets 'local' coordinates to 'global' -- this fixes the
// tooltips positioning within containers.
pt = evt.currentTarget.parent.contentToGlobal(pt);

myToolTip = ToolTipManager.createToolTip(text, pt.x, pt.y, "errorTipRight") as ToolTip;
myToolTip.setStyle("borderColor", "#417B0D"); 
myToolTip.setStyle("color", "white");

// Move the tooltip to the right of the target
var xOffset:int = evt.currentTarget.width + 5;//(myToolTip.width - evt.currentTarget.width) / 2;
myToolTip.x += xOffset; 
}

private function showToolTipAbove(evt:MouseEvent, text:String):void
{
var pt:Point = new Point(evt.currentTarget.x, evt.currentTarget.y);

// Convert the targets 'local' coordinates to 'global' -- this fixes the
// tooltips positioning within containers.
pt = evt.currentTarget.parent.contentToGlobal(pt);

myToolTip = ToolTipManager.createToolTip(text, pt.x, pt.y, "errorTipAbove") as ToolTip;
myToolTip.setStyle("borderColor", "#ff6600");
myToolTip.setStyle("color", "white");

// Move tooltip below target and add some padding
var yOffset:int = myToolTip.height + 5;
myToolTip.y -= yOffset; 
}

private function showToolTipBelow(evt:MouseEvent, text:String):void
{

var pt:Point = new Point(evt.currentTarget.x, evt.currentTarget.y);

// Convert the targets 'local' coordinates to 'global' -- this fixes the
// tooltips positioning within containers.
pt = evt.currentTarget.parent.contentToGlobal(pt);

myToolTip = ToolTipManager.createToolTip(text, pt.x, pt.y, "errorTipBelow") as ToolTip;
myToolTip.setStyle("borderColor", "black");
myToolTip.setStyle("color", "white");

// Move tooltip below the target
var yOffset:int = evt.currentTarget.height + 5;
myToolTip.y += yOffset; 
}

// Remove the tooltip
private function killToolTip():void
{
ToolTipManager.destroyToolTip(myToolTip);
}

]]>
</mx:Script>

<mx:Button label="Orange" mouseOver="showToolTipAbove(event, 'Tooltip above')" mouseOut="killToolTip()"/>

<mx:Panel title="Panel Tooltip" height="100" width="150" layout="vertical" verticalAlign="middle" horizontalAlign="center">
<mx:Button label="Black" mouseOver="showToolTipBelow(event, 'Tooltip below')" mouseOut="killToolTip()" />
</mx:Panel>

<mx:VBox>
<mx:Button label="Green" mouseOver="showToolTipRight(event, 'Tooltip to the right')" mouseOut="killToolTip()"/>
</mx:VBox>

</mx:Application>

1.定义ToolTip

转载于:https://my.oschina.net/u/258944/blog/118387

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值