Flex工具提示定位不正确
问题描述:
假设我正在尝试在我视图上的组件左侧放置工具提示。布局可能类似于此:Flex工具提示定位不正确
<mx:HBox>
<mx:Button id="btnBack"
label="Back"
click="btnBack_click();" />
<mx:Button id="btnFirstLoadDemo"
label="First Load Demo"
click="btnFirstLoadDemo_click();" />
</mx:HBox>
我使用下面的代码来获得位置来放置提示:
var pt:Point = new Point(btnFirstLoadDemo.x, btnFirstLoadDemo.y);
pt = btnFirstLoadDemo.contentToGlobal(pt);
点通过contentToGlobal(折算后),该点的X坐标是非常不正确的。
我已经找到一种方法,只需在这样的另一个HBox中包裹的目标组件来解决此:
<mx:HBox>
<wcb:Button id="btnBack"
label="Back"
click="btnBack_click();" />
<mx:HBox>
<wcb:Button id="btnFirstLoadDemo"
label="First Load Demo"
click="btnFirstLoadDemo_click();" />
</mx:HBox>
</mx:HBox>
任何想法是怎么回事?
答
你在混合坐标空间。 x
and y
位于父容器的坐标空间中,但是您正在转换,就好像它们在按钮本身的坐标空间中一样。
<mx:HBox id="container">
<mx:Button id="btnBack" />
<mx:Button id="btnFirstLoadDemo" />
</mx:HBox>
与
var pt:Point = new Point(btnFirstLoadDemo.x, btnFirstLoadDemo.y);
var globalPoint:Point = container.contentToGlobal(pt);
哇,我是白痴,好抓,谢谢! – user277240 2010-02-19 22:57:09