flex 控件的绝对位置如何获得
我有一个Canvas里面有个控件,比方说文本框,然后我点击文本框获得这个文本框的位置,也就是属性中的x和y并不是整个界面的绝对位置,而是相对于Canvas的位置,那我怎么...
我有一个Canvas 里面有个控件,比方说文本框,然后我点击文本框获得这个文本框的位置,也就是属性中的x和y并不是整个界面的绝对位置,而是相对于Canvas的位置,那我怎么才能获得任意控件的绝对位置呢?
展开
推荐于2016-08-17
展开全部
使用绝对定位, 你通过使用其 x 和 y 属性来指定子控件的位置, 或者指定基于限制的布局;否则, Flex 会将该子级置于父容器的位置 0,0 处。 当指定 x 和 y 坐标时, 仅当更改这些属性值时, Flex 才会重新定位控件。使用<s:BasicLayout/>标签表示绝对定位。
下面这个例子使用了据对定位标签,容器内名为“按钮1”的组件未定义坐标则默认放在(0,0)位置,其它组件定义了xy则排放在指定位置。
例子如下:
<s:Application xmlns:fx="http://IP/mxml/2009"
xmlns:s="library://IP/flex/spark"
xmlns:mx="library://IP/flex/mx" minWidth="955" minHeight="600">
<s:layout>
<s:BasicLayout/>
</s:layout>
<s:Button label="按钮1"/>
<s:Button x="92" y="0" label="按钮2"/>
<s:TextInput x="0" y="29"/>
</s:Application>
下面这个例子使用了据对定位标签,容器内名为“按钮1”的组件未定义坐标则默认放在(0,0)位置,其它组件定义了xy则排放在指定位置。
例子如下:
<s:Application xmlns:fx="http://IP/mxml/2009"
xmlns:s="library://IP/flex/spark"
xmlns:mx="library://IP/flex/mx" minWidth="955" minHeight="600">
<s:layout>
<s:BasicLayout/>
</s:layout>
<s:Button label="按钮1"/>
<s:Button x="92" y="0" label="按钮2"/>
<s:TextInput x="0" y="29"/>
</s:Application>
展开全部
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12">
<mx:Canvas x="200" y="100" width="295" height="250" id="can" backgroundColor="#12A19F">
<mx:TextInput x="10" y="10" height="148" id="test"/>
</mx:Canvas>
<mx:Label x="200" y="52" width="257" height="22" text="文本框相对面板的x:{test.x} y:{test.y}" fontSize="12"/>
<mx:Label x="200" y="26" width="182" height="22" text="面板的x:{can.x} y:{can.y}"/>
<mx:Label x="200" y="76" width="375" height="22" text="文本框的x:{can.x+test.x} y:{can.y+test.y}" fontSize="12"/>
</mx:Application>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12">
<mx:Canvas x="200" y="100" width="295" height="250" id="can" backgroundColor="#12A19F">
<mx:TextInput x="10" y="10" height="148" id="test"/>
</mx:Canvas>
<mx:Label x="200" y="52" width="257" height="22" text="文本框相对面板的x:{test.x} y:{test.y}" fontSize="12"/>
<mx:Label x="200" y="26" width="182" height="22" text="面板的x:{can.x} y:{can.y}"/>
<mx:Label x="200" y="76" width="375" height="22" text="文本框的x:{can.x+test.x} y:{can.y+test.y}" fontSize="12"/>
</mx:Application>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
那么就不要把这个控件放在Canvas里面吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询